我们正在使用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设置为“更改”。
避免这种行为的任何想法或解决方法?
答案 0 :(得分:0)
两个选项: