【问题标题】:Jenkins scripted pipeline to trigger job only when commits happen in GithubJenkins 脚本化管道仅在 Github 中发生提交时触发作业
【发布时间】:2019-03-20 06:44:00
【问题描述】:

我们使用 CloudBees-2.138.2.2 Jenkins,并且在仅基于我们的 Github 存储库中的提交来触发 jenkins 作业方面遇到了很多挑战。我仍在寻找脚本管道的确切工作脚本,而不是声明性的。

so 例如:- pipelineTriggers([cron('0-59/2 * * * *')]),工作 但是 pipelineTriggers([pollSCM('0-59/2 * * * *')]),尽管有新的提交,但永远不会工作

【问题讨论】:

  • 您是否考虑过使用“来自 SCM 的管道脚本”(通过 Jenkinsfile)并启用“用于 GITScm 轮询的 GitHub 挂钩触发器”这样的选项?例如,参见 this 示例。这是一种标准的配置方式,而且更容易配置。
  • 感谢您的回复。我知道这一点,但我们想使用一个使用脚本管道语法的 Jenkinsfile 来建立整个管道。因此问。

标签: jenkins jenkins-pipeline cloudbees jenkins-groovy crontrigger


【解决方案1】:

能够使用 :-

pipelineTriggers([pollSCM('* * * * *')]) 下属性

这样,作业每分钟轮询一次 repo,并且只有在检测到新提交时才会触发构建。

【讨论】:

    【解决方案2】:

    您可以尝试在脚本化管道中添加以下内容

    properties([pipelineTriggers([githubPush()])])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2022-06-15
      相关资源
      最近更新 更多