公司,我对正在评估詹金斯2.71的工作,特别是管道和蓝海插件相关的2个项目。我们已经测试了GoCD,我们需要像在GoCD这样一个管道自动从其他两个管道获取工件的方式(以他们每个人的最后一个成功结果为例),这里是我们的情况。管道使用的文物由相同的Git分支名称
我们这些初始管道(建立&运行测试),这反映了2个项目:
- 前端,〜15分钟
- 后端,〜10分钟
我创建了一个名为的流水线配置(〜1分钟),例如一个名为的参数名为,该参数将后端和前端文件放在一起,然后应用特定的客户特定配置和自定义,并生成可部署的工件。我可以并行执行此项工作,而不是“客户名称”,以便为每个客户一次创建所有工件,并将其分离到不同的目录中。
下一个管道将部署在为每个客户分开的不同测试服务器上。这可能是也同样配置管道的一部分,我们还是要看看如何把东西放在一起在詹金斯...
理想情况下,我需要配置管道是自动触发(或还需要)在每个前端或后端成功之后并将这两个管道中最后一个成功的工件作为输入,但不仅仅是最后一次成功构建,我们需要依赖于依赖git分支名称。
E.g.我们有:
后端分支:
- 主
- 发布/ 2017.2
前端设有分公司:
- 主
- 发布/ 2017.2
在管道编辑器,我发现了一个构建触发选项,并进行如下设置:生成后其他项目的构建>项目看:前端,后端>检查触发只有建立稳定或更好在我的测试环境中充满故障即使构建不稳定也会触发。
进一步搜索,我发现Copy Artifact Plugin
但现在最大的问题,如何与相同的git分支名获取这些管道上一次成功的假象?
因为我们不想混合例如后端版本为“release/2017.2”,前端为“master”,它必须找到具有相同关系或参数的最后一个成功版本,或者任何你想要调用的版本,在我们的例子中,关联是git分支名称。
有没有可能做到这一点?如果是,如何?
复制神器插件似乎在自由式项目中工作。它会在管道中工作吗?这也是一个问题......
感谢
是的,这可以做到。当我有更多时间时,我会尝试提供更详细的答案,但请看一下'copyArtifact'函数。另外,当您在Pipeline项目上时(左侧导航栏上有一个Pipeline Syntax链接)(您可能必须已经在配置页面上,我记不起手),详细说明如何进行这些操作东西的。 – Kdawg