使用以下工具:
项目配置:
我想要实现的是,当通过“子”项目启动审阅或合并构建时,也会启动具有该更改的“父”项目的构建。怎么样?
我目前正在修补跟随,现在可悲的是什么不能正常工作,因为我不能只为一个版本改变子模块的url。 Zuul配置:
projects:
- name: parent
review:
- review-job
- name: child
review:
- review-job:
- review-parent-with-change-of-child-job
(我已经跳过了合并部分,因为复习足以解释这个问题)
所以,由于事实,jenkins里面的典型Zuul工作里面只有一些$ZUUL_URL
/ $ZUUL_PROJECT
配置和一个Jenkinsfile的链接我必须写一个特殊的工作,以便通过改变孩子来审查父母。最后只是“父”主分支的构建,子模块更改了Zuul Merger的存储库。
而且存在问题,我可以实现从Zuul Merger的回购中检查更改的唯一方法是更改.gitmodule文件中的url。在我看来,这不是一个理智的方式来做这样的构建,所以我正在寻找另一种解决方案。由于关于Zuul的文档和有子模块的项目几乎为零,我有点被困在这里。
我仍然会尝试以疯狂的方式实现这一目标(尚未经过测试),但是如果存在的话,我希望尽快将其改变为更加理智和安全的方式。
更改.gitmodules基本上只是一个NO-GO。
但你不需要改变它!起初我没有意识到这一点。
在你的Jenkins文件中拉Zuul repo就足够了:
sh '''
cd path/to/your/submodule
git pull $ZUUL_URL/$ZUUL_PROJECT +$ZUUL_REF:refs/heads/zuul
'''
并且您的子模块包含您要在构建中测试的更改。