Jenkins的NuGet软件包的上游构建

时间:2019-01-22 09:55:56

标签: jenkins

我目前已设置Jenkins来构建多个作业,每个作业都会构建多个c#项目,为其创建NuGet程序包,然后将其存储在构建服务器上的本地文件夹中(我不会将它们发布到URL中) ),这样就可以将其导入到更远的作业中,最终以构建需要软件包的应用程序本身的作业结束。

为此,我在每个项目中使用构建触发器“在构建其他项目之后进行构建”以形成依赖关系图(注意:我不是使用管道/管道脚本来执行 ) 。除非项目有多个上游父级,否则此方法工作正常。考虑以下情况:

Jenkins jobs

Jenkins将构建作业1,这将触发作业2和3的构建。这些将并行构建。问题是作业2将在2完成时开始构建,但由于作业3尚未构建且其NuGet软件包将不存在,将失败。此外,如果作业4确实构建了(这将依赖于可能过时的作业3构建),则作业4将生成两次,因为它也是由作业3触发的,这将“解决问题”但效率低下。

有没有一种方法可以使作业4在这种情况下等待2和3完成,并且只能构建一次?我还希望能够触发作业2并使其构建作业4,而不必同时触发作业3。

0 个答案:

没有答案