Go CD Trigger用户总是在多阶段管道中获得“更改”的值

时间:2016-08-09 15:04:12

标签: continuous-integration continuous-deployment go-cd

我们正在使用Go CD作为CI管道。我们已经创建了多个Go CD用户,并且所有用户都可以在Go CD中触发任何管道。

我们使用多个管道来完成dev-to-prod循环,但是,我们注意到我们可以通过使用具有多个阶段的单个管道(节省由多个管道引起的磁盘空间)来实现相同的目的,每个管道代表部署到环境(即雄鹿,生产)。

我们的要求是获取由Go CD系统设置的GO_TRIGGER_USER,并根据此信息在自定义脚本中做一些决策。它适用于单阶段构建,即如果将更改推送到存储库触发管道,GO_TRIGGER_USER环境变量将获得“更改”的值,否则将其设置为手动触发管道的Go CD用户的用户名。

多阶段构建出现问题;从管道中的第二阶段开始,即使管道由Go CD用户手动触发,也始终将GO_TRIGGER_USER设置为“更改”。

避免这种行为的任何想法或解决方法?

1 个答案:

答案 0 :(得分:0)

两个选项:

  1. 使用API​​获取有关管道Stages API中第一个阶段的数据。我在Python中使用它并不是太麻烦。
  2. 将您想要的元数据写入平面文件,并将其导出为各个阶段之间的人工制品。