我试图找出解决这个问题的方法已经很长时间了,但还没有找到好的解决方案,也许有人可以帮我提出任何建议或良好做法。
在这里:
我有三个git项目:compilerweb,compiler和common
我想要做的是配置一个持续集成架构,其中任何提交和推送三个项目中的任何一个都会启动完整版本以确保 整个项目的稳定性,但我不确定采取何种程序或策略
我首先尝试的是以下内容:
但是使用这个模式,例如,如果开发人员同时处理这三个项目,然后他执行提交并推送compilerweb项目,那么将启动完整版本而不需要他的共同更改和编译器构建将失败。
当项目之间存在依赖关系并且所有项目都指向主分支时,实现持续集成的标准方法是什么?
非常感谢任何建议或回答! :)
答案 0 :(得分:2)
配置一个作业以启动另一个作业。
当 common 完成构建并成功时,启动编译器。
当编译器成功完成时,启动 compilerweb
您可以在" Post build Action" >> "建立另一个项目"
配置为在推送到任何git存储库时触发编译器作业。
这样,无论推动发生在哪里,每次你都会完成3个工作。
您可以为作业添加延迟,以避免提交问题并推送所有git回购。
延迟触发作业
http://myjenkins/job/jobname/build?delay=15
如果提交有或没有特定的消息,另一种方法就是运行构建。为此,您需要与开发人员交谈。 如果他们要进行需要在3个repos上提交的更改,则仅在最后一次提交时启动构建。
例如:
如果提交中包含单词"" ON HOLD"则将脚本配置为不启动构建。在消息中。