当前位置: 首页 > 知识库问答 >
问题:

如何在提交到分支时触发Jenkins管道?

公冶翰池
2023-03-14

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

我在詹金斯工作选项上没有看到合适的构建触发器,就像詹金斯自由式工作一样。

如何将Jenkins管道作业设置为在使用新提交更新分支时触发?

到目前为止,我还没有找到这个场景的明确答案,只有在提交到master时触发Jenkins管道作业,只有关于多分支作业的答案。

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

共有2个答案

谷梁浩思
2023-03-14

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

不要担心,如果你在你的分支有几个连续的推动。Jenkins能够在队列中有多个执行的情况下折叠多个触发器。

广宏远
2023-03-14

要使用新的提交到Git分支来触发Jenkins管道,您需要在Git存储库设置中添加web钩子,并选择Push触发器事件。

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

def branchName = "${env.BRANCH_NAME}"
if(branchName == 'dev'){
  ...
}
 类似资料:
  • 我有一个由github网络钩子触发的JenkinsPipeline作业,因此在提交到Github时会触发构建。但是,我只希望在向master分支提交时触发构建。目前,任何提交都会触发构建,即使提交是在功能分支上进行的。 有没有办法在不诉诸多分支工作的情况下实现这一点? 我在Jenkins配置、jenkinsfile或Github repo的webhook中看不到任何过滤分支(触发器)的方法。 我能

  • 我目前设置了一个 Jenkins 多分支管道作业,该作业基于 Gitlab 服务器上托管的 Git 存储库。Jenkins 可以读取存储库中的分支,并为存储库中的每个分支创建一个作业。但是我不知道如何在Gitlab中使用webhook触发作业。 我的问题是: > < li> 如何从Gitlab服务器触发在Jenkins中创建新的分支作业?我看不到一个新分支的webhook被推。 如何触发单个分支的

  • 问题内容: 我目前正在测试Jenkins 2.0的管道方法,以查看它是否适用于我正在使用的构建环境。 首先是环境本身。当前它由多个SCM存储库组成。每个存储库都包含多个分支,用于开发的不同阶段,并且每个分支都使用多种配置构建。并非所有配置都适用于每个存储库。 当前,每个存储库/分支都被设置为适用于不同配置的矩阵项目。每个项目将其构建结果作为工件公开,并且这些工件在下游项目中使用。 不同的存储库彼此

  • 我有一个Jenkins管道作业(不是多分支管道),管道内的逻辑之一是,当gitlab scm上有一个合并请求时,我想基于触发此生成的合并请求的源分支构建一些东西。 我的问题是,在Jenkinsfile中,我如何动态地获取这个源分支,签出代码,并创建一个工作区,以便在这个分支上运行构建?

  • 我有一个参数化的Jenkins多分支管道,使用GitHub repo作为Jenkins文件和一些脚本的源。管道被配置为在Webhook上触发分支和拉请求,但我还希望只对主分支使用参数化的cron触发器,特别是在工作日每4小时一次。 我使用声明性管道语法,但如果必要,我愿意使用脚本化管道。 我使用参数化调度器插件来实现带有参数的cron触发器。 这个管道示例捕获了我试图实现但不支持的内容: 这项功能

  • 我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi