链接 GoCD 管道不适用于手动触发器

问题描述 投票:0回答:1

我构建了两条管道,我希望其中一个在另一个完成运行时触发。具体来说,我希望数据库更改脚本在第一个管道中运行,然后触发第二个脚本来获取代码以使用它。看起来这应该通过将第一个管道设置为第二个管道的材质来完成,但它似乎不起作用。

以下是我尝试使用的变量:

    管道“常规”选项卡上的
  1. Automatic pipeline scheduling
  2. 管道中第一阶段的“STAGE SETTINGS”选项卡上的
  3. Trigger on completion of previous stage
  4. Fetch updates to this repository only on webhook or manual trigger
    在高级设置中访问 Git 存储库的资料

我发现前两个是有联系的。设置一个以相同的方式设置另一个,尽管我认为管道可以有多个阶段,因此对它们有不同的设置,但我不需要设置多个阶段来查看这一点。

如果变量 1 设置为 False,则触发上游管道不会触发下游管道。但是,如果变量 3 设置为仅在手动触发时获取,则运行管道不会获取当前的 Git 存储库,而是使用它获取的最后一个存储库。然而,如果我使用“材质”页面上的“触发更新”按钮手动触发材质更新,那么管道会以某种方式注意到这一点并运行整个管道!

问题陈述:运行生产推送时,我想触发上游管道来获取并运行当前数据库更新,然后触发下游管道来获取并安装当前代码。

我找不到任何组合可以做到这一点。关于我还应该尝试什么的任何建议?

pipeline go-cd thoughtworks-go
1个回答
0
投票

我将此用作解决方法,而不是实际的解决方案:

  • 我正在使用一个虚拟的 Git 存储库来存储材料。
  • 我设置了一个管道,有两个阶段。
  • 第一阶段运行
    git pull
    的任务命令,指向我的数据库更新脚本的位置。
  • 第二阶段运行
    git pull
    的任务命令,指向我要更新的网站的位置。

我有额外的命令,以及

git pull
的额外语法,但这似乎与手动触发管道的核心问题无关;我只是让它做我想做的事。

© www.soinside.com 2019 - 2024. All rights reserved.