TeamCity Snapshot Dependency ветка GitHub
У меня конвейерный проект TeamCity 7.1 с несколькими конфигами.
Конфигурация "MyBuild" создает проект для корня VCS, указывающего на репозиторий GitHub с несколькими ветвями, и имеет спецификацию ветвей = +:refs/heads/*
Конфигурация "MyDeploy" развертывает пакет, созданный "MyBuild" и имеет зависимость моментального снимка от "MyBuild".
Я обнаружил, что "MyDeploy" всегда будет запускать "MyBuild" для основной ветви - даже если существует более поздняя сборка для какой-либо другой ветви.
Можно ли настроить "MyDeploy" для (1) развертывания последней успешной сборки для определенной ветви или (2) развертывания последней успешной сборки для любой ветви?
2 ответа
Похоже, ты пока не можешь этого сделать.
От Team City Docs:
Если конфигурация сборки с ветвями имеет зависимости моментального снимка от других конфигураций сборки, при запуске сборки в ветви все сборки из цепочки также будут отмечены этой ветвью.
В настоящее время невозможно настроить зависимости артефактов для извлечения артефактов из сборки из определенной ветви, зависимости артефактов всегда используют сборки из ветви по умолчанию. То же самое относится и к завершению сборки триггера. Он будет следить только за законченными сборками из ветки по умолчанию.
Я только что столкнулся с той же проблемой. Я нашел два обходных пути:
- Установите зависимость от конкретного "MyBuild" вручную перед запуском "MyDeploy"
- Снимите флажок "Не запускать новую сборку, если есть подходящая" в зависимостях конфигурации. Мне не понравился этот подход, потому что он запускает новую сборку "MyBuild".