Мы используем Go CD для наших конвейеров CI. Мы создали несколько пользователей Go CD, и все они имеют доступ к запуску любого конвейера в Go CD.
Мы используем несколько конвейеров для завершения цикла от разработки к продукту, однако мы заметили, что можно добиться того же, используя один конвейер с несколькими этапами (экономия места на диске за счет нескольких конвейеров), каждый из которых представляет собой развертывание в среде (т. е. олень, продукт).
Наше требование состоит в том, чтобы получить GO_TRIGGER_USER, настроенный системой Go CD, и на основе этой информации принять какое-либо решение в пользовательском скрипте. Он отлично работает для одноэтапных сборок, т. е. если изменения передаются в репозиторий, запуская конвейеры, переменная среды GO_TRIGGER_USER получает значение «изменения», в противном случае она устанавливается на имя пользователя Go CD, который вручную запустил конвейер.
Проблема возникает при многоэтапных сборках; начиная со 2-го этапа конвейера, который всегда устанавливает для GO_TRIGGER_USER значение «изменения», даже если конвейер запускается вручную пользователем Go CD.
Любая идея или обходной путь, чтобы избежать такого поведения?