我有两个在不同代理上运行的管道,一个用于构建,另一个用于运行单元测试另一个用于将工件部署到tomcat。第一个管道配置为存储工件,文件复制到server / artifacts / pipelines / xx文件夹。如何让第二个管道在第二个代理上复制文件?
答案 0 :(得分:3)
正如Juhi在之前的回答中所说,您可以为部署管道构建管道上游依赖项。创建部署管道时,请务必选择第2步:材料管道作为材料,然后选择构建管道。
由于Go CD具有客户端服务器体系结构,因此在一个管道中定义的所有工件都将传输到服务器并可供所有下游依赖项使用。发生这种情况是因为您可以拥有多个代理,并且无法保证同一代理将同时进行构建和部署。
在下游管道(在您的情况下部署管道)中,您可以使用获取任务添加作业,您可以在其中选择构建管道,创建工件的阶段和作业,并为其提供工件路径。
您甚至可以在部署之外创建模板,并将其用于在不同环境中部署。
答案 1 :(得分:1)
您可以在第一个和第二个管道之间创建管道依赖关系。请参阅create pipeline dependncy文档。在第二个管道中的setup fetch artifact task之后,从第一个管道获取工件。