我有一个本地git存储库,还有一个有效的jenkins项目。
我想挂钩jenkins任务,以便在推送任何更改到远程仓库之前执行jenkins项目,如果测试没有成功,git会停止推送
我认为这应该是一个非常常见的情况,但我一直在谷歌搜索,我找不到教程解释
答案 0 :(得分:2)
我认为你没有在野外看到这种情况的原因是,听起来你正试图通过使用单独的 repos 来解决干净的代码/脏代码分离分开分支,这是常态。
也许相反,你有一个Jenkins正在收听的遥控器,也许正在听(比如说)'dev'分支。您从本地推送到远程开发分支。 Jenkins听,在看到变化时进行构建,如果它喜欢它看到的内容,则将其合并为'master'。
然后你的脏代码在dev分支上,与master分支上的干净代码分开。
这是解决此类问题的一种更传统的方式..您可能会发现对此模型的更多支持。
答案 1 :(得分:2)
这实际上是一种非常常见的情况,但这并不意味着很容易实现。
作为起点,最好的办法是阅读Jenkins official documentation。
从那里,你可以阅读特定的文章,比如this one,它们谈论了一个与你想要的东西类似的钩子。
答案 2 :(得分:1)
您可以推送到存储库Jenkins监视更改。作为最后一个构建步骤(即在其他所有内容成功之后),您可以将更改推送到实际的远程存储库。