博客
关于我
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/

    你可能感兴趣的文章
    Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告
    查看>>
    oracle pl/sql 导出用户表结构
    查看>>
    Oracle PLSQL Demo - 17.游标查询个别字段(非整表)
    查看>>
    Oracle RAC性能调整的方案
    查看>>
    oracle rac集群的东西之QQ聊天
    查看>>
    UML— 用例图
    查看>>
    Oracle Schema Objects——Tables——Table Compression
    查看>>
    oracle scott趣事
    查看>>
    oracle script
    查看>>
    Oracle select表要带双引号的原因
    查看>>
    Oracle SOA Suit Adapter
    查看>>
    Oracle Spatial GeoRaster 金字塔栅格存储
    查看>>
    Oracle spatial 周边查询SQL
    查看>>
    Oracle Spatial空间数据库建立
    查看>>
    UML— 活动图
    查看>>
    oracle sqlplus已停止工作,安装完成客户端后sqlplus报“段错误”
    查看>>
    oracle SQLserver 函数
    查看>>
    oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
    查看>>
    Oracle Statspack分析报告详解(一)
    查看>>
    oracle tirger_在Oracle中,临时表和全局临时表有什么区别?
    查看>>