#teamcity #artifacts
#teamcity #артефакты
Вопрос:
У меня есть сборка TeamCity, от которой зависят другие сборки. Эта сборка создает некоторый вывод внутри каталога, например output_dir /dir1, output_dir /dir2, output_dir /dir3.
Есть ли какой-либо способ сохранить эти 3 каталога отдельно как dir1.zip , dir2.zip , dir3.zip ? Мне нужно что-то вроде output_dir/dir* => dir*.zip
Я могу вручную ввести все пути, но я бы предпочел, чтобы это было масштабируемо и автоматически.
Ответ №1:
Я не думаю, что для этого есть готовое решение. Однако я бы попробовал использовать параметр build вместо жестко закодированных шаблонов артефактов. Вот что я имею в виду:
- В Общих настройках > Пути к артефактам введите ссылку на некоторый параметр сборки:
- Установите для этого параметра сборки пустую строку
- Создайте этап сборки, например PowerShell, который посвящен созданию реальных шаблонов путей к артефактам, таких как
output_dir/dir1 => dir1.zip, output_dir/dir2 => dir2.zip
и т.д. - В качестве последнего шага этого сценария PowerShell используйте служебное сообщение TeamCity, чтобы присвоить
%artifact.pattern%
параметру сборки это сгенерированное значение.
Честно говоря, я сам этого не пробовал, но тот факт, что Artifacts paths
поле поддерживает параметры сборки, заставляет меня думать, что это возможно. Конечно, вы можете понять, что это слишком хлопотно, и обновление значения вручную было не такой уж плохой идеей 😉