我正在尝试制作这个相当独特的构建流程,但我还没有找到插件或者用jenkins来实现它的方法。
有一个名为“JOB A”的作业,它自己使用并创建一个独立的安装程序。 然后有“JOB B”创建另一个安装程序,但除了其他一些东西之外,还需要包含“JOB A”中内置的所有东西。现在我可以将JOB A构建步骤复制到JOB B中,但我想实际构建JOB A,甚至可能稍后使用这些工件。
它不能是构建触发器,因为JOB A完成后JOB B需要继续构建,我不能使用类似flow的东西,因为它创建了JOB C并且只对其他作业进行排序,我需要进入A和B才能获得文物。
如果它在构建JOB B并确定是否需要再次构建JOB B时检查了自上次构建以来的任何更改,那么它是否会在git中检查JOB A源代码。
我查看了许多插件,但我似乎无法找到能够做到这一点的插件。
我希望我的解释不会令人困惑。对不起,如果是,我可以详细说明。
答案 0 :(得分:3)
如果我理解你想要什么,那么你需要的是:
对于JOB A
和JOB B
两者,将自定义工作区设置为服务器上的同一文件夹(您甚至可以保留JOB A
工作区,只需指向JOB B
客户工作空间到JOB A
的工作空间。我不在Jenkins工作的计算机上,也无法提供屏幕截图,因此我将借用 this great guide for more info on how to setup custom workspace
然后,在适当的时候,让JOB A
执行构建步骤在其他项目上触发/调用构建,即JOB B
。你甚至可以传递JOB A
所有相同的参数。默认情况下,这不会等待JOB B
完成。它将启动JOB B
,同时JOB A
将完成运行,然后JOB B
完成后就会完成。
如果需要,您可以选中阻止,直到触发的项目完成构建,然后JOB A
将等待JOB B
完成后再继续。
所以,上面的意思是:
JOB A
和JOB B
独立存在,并拥有自己的工件,并且每个工件都可以单独触发。JOB B
将获取从JOB A
到共享工作区并传递参数的所有内容。