【问题标题】:How to trigger a Jenkins Pipeline on commit to a branch?如何在提交到分支时触发 Jenkins 流水线?
【发布时间】:2018-10-05 14:27:29
【问题描述】:

我正在努力在将提交添加到 GitHub 上的特定分支时触发 Jenkins Pipeline 作业。

我在 Jenkins 作业选项上没有看到适当的构建触发器,就像我在 Jenkins Freestyle 作业中看到的那样。

如何设置一个 Jenkins 流水线作业以在使用新提交更新分支时触发?

到目前为止,我还没有找到这个场景的明确答案,Only trigger Jenkins Pipeline job on commit to master,只回答了关于多分支作业的问题。

对于这个问题的任何帮助将不胜感激!

【问题讨论】:

  • 您找到解决方案了吗?如果是这样,请您添加为解决方案。

标签: git jenkins jenkins-pipeline


【解决方案1】:

要通过向 Git 分支的新提交触发 Jenkins 管道,您需要在 Git 存储库设置中添加 Web 挂钩并选择 Pushes 触发事件。

或者,如果您希望 Jenkins 管道在特定分支上执行某些特定步骤..您可以尝试在 Jenkinsfile 中添加一个条件,如下所示..

def branchName = "${env.BRANCH_NAME}"
if(branchName == 'dev'){
  ...
}

【讨论】:

  • 接收 Push 触发器的 Jenkins Pipeline 作业是否需要任何设置?
  • 在 Jenkins 服务器上添加 github 服务器作为存储库。并且您还可以添加要在管道构建配置中使用的 Jenkinsfile 的名称。
  • 在 Jenkins 流水线作业中,我已将 URL 添加到“GitHub 项目”框,并检查了“GitHub 挂钩触发器用于 GITScm 轮询”的构建触发器选项
【解决方案2】:

您需要在存储库中定义一个触发器,以防推送您的分支。此外,您可以轮询 scm 并为此定义一个 cron。

如果您的分支中有多次连续推送,请不要担心。如果队列中有多个执行,Jenkins 能够折叠多个触发器。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    相关资源
    最近更新 更多