GoCD - 如何跨 machines/pipelines 复制文件
GoCD - How to copy files across machines/pipelines
我在不同的代理上有两个管道 运行,一个用于构建和 运行 单元测试,另一个用于将工件部署到 tomcat。第一个管道配置为存储工件,文件被复制到 server/artifacts/pipelines/xx 文件夹。如何让第二个管道复制第二个代理上的文件?
您可以在第一条管道和第二条管道之间创建管道依赖关系。在第二个管道中参考 create pipeline dependncy document. After that setup fetch artifact task 从第一个管道中获取工件。
正如 Juhi 在之前的回答中所说,您可以使构建管道成为部署管道的上游依赖项。当您创建部署管道时,请确保 select 在 步骤 2:材料 管道作为 material 和 select 构建管道。
由于 Go CD 具有客户端服务器架构,因此在一个管道中定义的所有工件都将传输到服务器并可供所有下游依赖项使用。发生这种情况是因为您可以有多个代理,并且不能保证同一个代理将同时进行构建和部署。
在下游管道(在您的情况下部署管道)中,您可以使用 Fetch Task 添加作业,您可以在其中 select 构建创建工件的管道、阶段和作业给它路径到你的神器。
您甚至可以在部署之外创建模板并将其用于在不同环境中进行部署。
我在不同的代理上有两个管道 运行,一个用于构建和 运行 单元测试,另一个用于将工件部署到 tomcat。第一个管道配置为存储工件,文件被复制到 server/artifacts/pipelines/xx 文件夹。如何让第二个管道复制第二个代理上的文件?
您可以在第一条管道和第二条管道之间创建管道依赖关系。在第二个管道中参考 create pipeline dependncy document. After that setup fetch artifact task 从第一个管道中获取工件。
正如 Juhi 在之前的回答中所说,您可以使构建管道成为部署管道的上游依赖项。当您创建部署管道时,请确保 select 在 步骤 2:材料 管道作为 material 和 select 构建管道。
由于 Go CD 具有客户端服务器架构,因此在一个管道中定义的所有工件都将传输到服务器并可供所有下游依赖项使用。发生这种情况是因为您可以有多个代理,并且不能保证同一个代理将同时进行构建和部署。
在下游管道(在您的情况下部署管道)中,您可以使用 Fetch Task 添加作业,您可以在其中 select 构建创建工件的管道、阶段和作业给它路径到你的神器。
您甚至可以在部署之外创建模板并将其用于在不同环境中进行部署。