Итак, мой вопрос достаточно прост. Я хочу построить конвейер с помощью GO CD, который имеет функциональные тесты на отдельном этапе от фактического создания артефактов. Подобно картинке ниже.
На моем этапе FT есть несколько заданий, которые я хочу выполнять параллельно (используя больше агентов Go). Но КАК мне этого добиться? Потому что, если я проверяю материал (репозиторий git) на обоих этапах, а кто-то делает коммит после запуска первого этапа, но до второго этапа, то я нарушаю самое важное правило CI&CD: воспроизводимая сборка.
В Jenkins я помечаю коммит, проверенный на первом этапе, а затем явно проверяю этот тег в следующем задании. Но по какой-то причине Go не поддерживает теги git :|.
Я мог бы запустить задачу и выполнить «git checkout $tagname», но для меня это причина продолжать работу с Jenkins. Это слишком много взлома