2

詹金斯上总是有一个由“提升构建插件”触发的额外构建,我不知道为什么......

这是整个管道:

  1. dev 将“feature_branch”提交到 github
  2. jenkins 在“feature_branch”上触发构建以运行所有单元测试

在构建工作中:

  • 如果分支通过测试,它应该去“代码审查”(我这里使用promote_build_plugin,代码查看后手动提升),
  • 我使用“在其他项目上触发/调用构建”作为触发“部署作业”进行构建的操作,前提是它通过了代码审查。

在部署作业上:
我可以看到一个新的构建被触发并且 feature_branch 被合并,但总是有另一个构建发生,“没有变化;旧代码启动了这个工作。没有可用的原因信息”

我google了一个下午试图解决这个问题,有什么帮助吗?

4

1 回答 1

0

您可能有一个 post-commit 钩子通过 URL 或 jenkins-cli 触发相同的作业

OP评论后编辑:

但是我开始怀疑deploy-job,我没有配置“将更改推送到Github时构建”,而是使用“提升另一个项目时构建”,所以我认为即使触发了github钩子,它也不会结束增加一个额外的构建?

嗯,有你的问题^^。“触发/调用构建”机制与“提升另一个项目时构建”机制完全分开。

  • 前者允许从构建步骤或促销(与特定促销相关)触发新构建。
  • 后者将触发对已配置作业的任何提升的构建。它与“构建其他项目”构建后配置相反。

此外,构建触发器不是AND'ed,它们是OR'ed当这个或那个那个触发器发生时构建。从配置中删除“在提升另一个项目时构建”以 git 摆脱额外的构建。

现在,如果您想防止 SCM 提交挂钩触发构建,您需要确保作业上没有配置 SCM 轮询。或者不同的 SCM 插件有自己的选项(我知道 SVN SCM 插件允许“忽略提交后挂钩”;不知道 git SCM 插件)

于 2014-04-21T21:07:29.050 回答