我有一个标准的Jenkins作业需要被触发,以便对我添加到配置中的多个SCM插件的任何x存储库进行任何拉取请求/提交。
有没有办法在所有repos上设置一个钩子,以便在对任何repos的pull请求中构建具有pull请求的特定仓库?
这将有所帮助,因为当我可以为所有回购工作找到一份工作时,我不需要每份回购1份工作。
答案 0 :(得分:3)
如果你set your Jenkins url in the webhooks and services of your various GitHub repos,那个网络钩子会调用Jenkins。
但是Jenkins GitHub plugin只会触发" Github project
"拥有正确的git@github.com:Person/Project.git
回购。
一种可能的解决方法是:
git submodule update --remote
(为了刷新所有子模块gitlinks SHA1,special entries in the index)并推回该父仓库到GitHub; GIT_COMMIT
and GIT_PREVIOUS_COMMIT
以确定哪个子文件夹 - 子模块 - 刚刚更改,并仅在该子文件夹或那些子文件夹上启动构建。答案 1 :(得分:0)
可以使用Jenkins Pipelines。
您可以通过checkout内置步骤指定任意数量的SCM位置。在这种情况下,Jenkins将“知道”它必须在任何源存储库中修改后重建管道。当然应该启用Git钩子来实现它。