我有一个不包含Jenkinsfile的存储库-我无法影响存储库本身。这意味着我既不能在资源库中添加任何文件,也不能在资源库中更改任何文件(在本例中为Qt repo)。
我想做的是创建多个Jenkinsfile,分别为一个不同的目标配置和构建Qt库,或者运行不同的其他脚本。
所有这些Jenkinsfiles将收集在不同的存储库中。
现在,我的问题是如何创建管道作业,一旦Qt存储库中发生更改,该作业就会被触发,但是会使用另一个存储库中的Jenkinsfile。
据我所知,根据to these posts的研究,我离开了我,留下了两个选择:
不幸的是,这对我不起作用,因为两个存储库仍需要一个Jenkinsfile。此外,我无法为每个存储库指定不同的分支,因此无法监听特定的Qt版本分支。
我认为,第二种方法对我有用,但是我想知道的是,是否有任何插件,配置选项或我错过的任何东西可以用一种更干净的方式解决,或者以上是否是解决问题的方法做吧。
最佳答案
为什么不使用常规的“Poll SCM”方法创建一个Jenkins Freestyle Job来监视QT repo ?
然后让Freestyle作业启动一个或多个Jenkins管道作业。
您将使管道作业指向管道“jenkinsFile” groovy脚本所在的SCM(您控制的存储库)。
在管道代码中,您可以使用管道SCM DSL步骤从Qt存储库(不受您控制的代码)中提取代码,然后进行所有构建,测试或其他操作。
您可以将Qt Repo的URL和修订版作为轮询作业的参数传递到管道中。
关于jenkins - 如何从没有jenkinsfile的存储库中触发Jenkins管道构建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41116169/