Jenkins构建被触发,尽管" Don不会触发构建提交通知"

时间:2016-09-21 20:49:22

标签: git jenkins jenkins-pipeline

我有一个管道工作,检查git存储库(让我们 呼叫是" repoA")并将其传递给其他一些下游工作 进一步处理。上游作业的脚本存储在不同的脚本中 git repo(让我们称之为" repoB")。此作业配置了"民意调查 SCM"选项,以便repoA的任何更改都会触发它。在管道部分,我从SCM"中选择了"管道脚本。选项并将其配置为从repoB的主分支获取管道脚本。我还添加了选项"不要触发构建提交通知"。我期待的行为是推送到repoA的任何更改都会触发这项工作, 对repoB的任何更改都不会触发该作业。然而,当我推动一个 改为repoB,工作被触发。

我不知道这是一个错误,还是我错过了什么。

我正在运行Jenkins 2.7.4。我的主人Jenkins在Ubuntu服务器16.04.1 LTS上运行。我所有的Jenkins插件都是最新的。

1 个答案:

答案 0 :(得分:1)

在与Jenkins邮件列表进行一些交流之后,我现在更好地了解事情是如何运作的,所以这是我必须做的事情以防其他人需要它:

  • 创建一个git hook来通知Jenkins已经提交/推送了更改:最后我们在远程创建了一个post-receive钩子
  • 启用对您的工作进行轮询,但将计划留空
  • 在“管道”部分中,将其配置为从git repo中提取groovy脚本(在我的示例中为repoB)但不要添加行为:"不要触发构建提交通知"
  • 确保在您的脚本中签出您的git存储库(在我的示例中为repoA)时启用了轮询:默认情况下,如果您不指定它,则启用它

据我了解,选项"不要触发构建提交通知"是我从第一次想到的那样,是从挂钩而不是工作调查时间表中发出的通知。