【问题标题】:GoCD - How to copy files across machines/pipelinesGoCD - 如何跨机器/管道复制文件
【发布时间】:2015-12-16 18:41:27
【问题描述】:

我有两个在不同代理上运行的管道,一个用于构建并运行单元测试,另一个用于将工件部署到 tomcat。第一个管道被配置为存储工件,文件被复制到 server/artifacts/pipelines/xx 文件夹。如何让第二个管道复制第二个代理上的文件?

【问题讨论】:

    标签: go-cd


    【解决方案1】:

    正如 Juhi 在之前的回答中所说,您可以为部署管道创建构建管道上游依赖项。创建部署管道时,请务必在 Step 2: Materials 中选择管道作为材料并选择构建管道。

    由于 Go CD 具有客户端服务器架构,因此在一个管道中定义的所有工件都将传输到服务器并可供所有下游依赖项使用。发生这种情况是因为您可以拥有多个代理,并且不能保证同一个代理会同时进行构建和部署。

    在下游管道(在您的情况下部署管道)中,您可以使用 Fetch Task 添加作业,您可以在其中选择创建工件的构建管道、阶段和作业,并为其提供到您的工件的路径。 p>

    您甚至可以在部署之外创建模板并将其用于在不同环境中进行部署。

    【讨论】:

    • 我在文档中看到了 fetch 任务..但在作业/任务屏幕中找不到它..它在安装不同的插件后出现(从 s3 获取)。
    【解决方案2】:

    您可以在第一个和第二个管道之间创建管道依赖关系。请参阅create pipeline dependncy 文档。然后setup fetch artifact task 在第二个管道中从第一个管道中获取工件。

    【讨论】:

    猜你喜欢
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多