博客
关于我
Jenkins 自动触发执行的配置
阅读量:501 次
发布时间:2019-03-06

本文共 1932 字,大约阅读时间需要 6 分钟。

Jenkins 触发条件及 GitHub 集成配置指南

两种触发条件

Jenkins 中的任务自动化不仅仅是构建自动化,还可以通过触发条件来实现更智能的流程。Jenkins 的触发条件主要分为两种:时间触发和事件触发。

时间触发

时间触发是最常见的触发方式,主要有两种实现方式:

  • 定时构建

    Jenkins 会根据预设的时间计划自动启动构建任务。这种方式适合需要周期性构建的场景,比如每天晚上进行代码编译和测试。

  • 轮询 SCM

    Jenkins 会在指定的时间间隔内主动检查代码仓库是否有更新。如果有任何代码变更(如提交、拉取或更新操作),就会自动触发构建任务。这种方式适合需要及时反映代码变更的开发环境。

  • 事件触发

    事件触发则更灵活,主要有以下几种实现方式:

  • 由其他工程构建后触发

    例如,某个工程完成打包和部署后,可以设置另一个工程在其成功后自动启动构建任务。这种方式常用于流水线构建中。

  • GitHub Hook Trigger for GITScm Polling

    这是一个专用的插件,用于接收 GitHub 的推送事件(push event)通知。当代码仓库发生变更时,GitHub 会通过HTTP请求通知Jenkins,从而触发相应的构建任务。

  • 触发远程构建(如通过脚本)

    Jenkins 提供了一个REST API接口,可以通过脚本或其他工具远程触发构建任务。这种方式适合需要动态触发构建的场景。

  • Jenkins 与 GitHub 的同步配置

    为了实现代码变更自动触发构建的目标,需要对 Jenkins 和 GitHub 进行相应的配置。以下是详细的配置步骤:

    Ngrok 安装

    为了让 GitHub 能够访问 Jenkins 服务器,需要确保 Jenkins 服务器有一个可用的外网IP地址。可以通过 Ngrok 这种工具来解决这个问题。Ngrok 的主要功能是将局域网内的端口映射到互联网上,方便外部访问。

    1. 下载 Ngrok

    登录 Ngrok 官网(https://ngrok.com),选择对应的操作系统版本下载 Ngrok 压缩包。例如,选择 Windows 版本下载 ngrok-stable-windows-amd64.zip。

    2. 解压缩 Ngrok

    将下载的压缩包解压到指定的目录。例如,可以将其解压到 F:\ngrok-stable-windows-amd64。

    3. 获取 Ngrok 认证 token

    登录 Ngrok官网(或使用 GitHub 账号直接登录),获取相应的认证 token。

    4. 认证 Ngrok

    将解压后的 Ngrok 目录切换到命令提示符下,执行以下命令并替换

    ngrok authtoken 

    5. 启动 Ngrok

    在 Ngrok 所在目录下执行以下命令,指定需要暴露的端口(例如 8080,如果 Jenkins 监听这个端口):

    ngrok http 8080

    注意:运行此命令后,会生成一个新的 Ngrok 访问地址。关机或重启服务器后,需要重新运行该命令,并更新 Jenkins 和 GitHub 中的 webhook配置。

    配置 GitHub Webhook

    Webhook 是实现代码变更自动触发Jenkins构建的关键环节。以下是配置步骤:

    1. 登录 GitHub,进入目标仓库

    访问 GitHub官网,登录后找到需要监控的仓库。

    2. 配置 Webhook

    点击仓库 settings,选择 Webhooks tab,点击 Add Webhooks 按钮。

    3. 设置 Payload URL

    在 Webhook 配置界面中,填写 Jenkins 服务器的外网IP地址 + "/github-webhook/"。例如:

    https://
    .ngrok.io/github-webhook/

    其中,

    是通过 Ngrok 获取的外网IP地址。

    4. 配置 Jenkins

    在 Jenkins中,进入系统设置,找到 GitHub 插件,点击 Advanced...。

    5. 添加 Webhook

    在 Jenkins 的系统设置界面,填写 GitHub Webhook 的 POST 地址。确保地址格式为:http://<your-jenkins-url>/github-webhook/,不要忘记末尾的斜杠。

    完成以上步骤后,点击页面底部的 Save 按钮完成配置。

    通过以上配置,GitHub 会在代码变更时通过 Webhook 通知 Jenkins,触发相应的构建任务。这意味着开发人员只需要提交代码,Jenkins 就能自动完成编译、打包、部署和测试等流程。

    转载地址:http://ydbyz.baihongyu.com/

    你可能感兴趣的文章
    PostgreSQL-解决连接时遇到的乱码问题
    查看>>
    PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001
    查看>>
    PostgreSQL9.1 双机部署配置(主备数据同步)
    查看>>
    Qt开发——简易网络浏览器(一)
    查看>>
    Qt开发——简易成绩登记系统
    查看>>
    Postgresql中PL/pgSQL代码块的语法与使用-声明与赋值、IF语句、CASE语句、循环语句
    查看>>
    Postgresql中PL/pgSQL的游标、自定义函数、存储过程的使用
    查看>>
    Postgresql中的表结构和数据同步/数据传输到Mysql
    查看>>
    Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
    查看>>
    postgreSQL入门命令
    查看>>
    PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
    查看>>
    Qt开发——爱情公寓人事管理系统
    查看>>
    PostgreSQL和Oracle两种数据库有啥区别?如何选择?
    查看>>
    Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
    查看>>
    PostgreSQL在何处处理 sql查询之四
    查看>>
    postgresql基本使用
    查看>>
    PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
    查看>>
    PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
    查看>>
    PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
    查看>>
    PostgreSQL学习总结(13)—— PostgreSQL 目录结构与配置文件 postgresql.conf 详解
    查看>>