GoCD - Как копировать файлы на машины / конвейеры

У меня есть два конвейера, работающих на разных агентах: один для сборки и запуска модульных тестов, другой для развертывания артефактов в tomcat. Первый конвейер настроен для хранения артефактов, файлы копируются в папку server/artifacts/pipelines/xx. Как заставить второй конвейер скопировать файл на второго агента?

2 ответа

Решение

Как сказал Джухи в предыдущем ответе, вы можете сделать сборку конвейера зависимостью для конвейера развертывания. При создании развертывания конвейера обязательно выберите на шаге 2: Материалы конвейера в качестве материала и выберите сборку конвейера.

Поскольку Go CD имеет архитектуру клиент-сервер, все артефакты, определенные в одном конвейере, передаются на сервер и становятся доступными для всех последующих зависимостей. Это происходит потому, что у вас может быть несколько агентов, и нет гарантии, что один и тот же агент будет выполнять как сборку, так и развертывание.

В нисходящем конвейере (разверните конвейер в вашем случае) вы можете добавить задание с помощью функции " Выборка", где вы можете выбрать конвейер сборки, этап и задание, в котором создан артефакт, и указать путь к вашему артефакту.

Вы даже можете создать шаблон вне развертывания и использовать его для развертывания в различных средах.

Вы можете создать зависимость конвейера между первым и вторым конвейером. См. Документ создания зависимого конвейера. После этого установите выборку задачи артефакта во втором конвейере, чтобы получить артефакты из первого конвейера.

Другие вопросы по тегам