Артефакт TeamCity из сборки lastSuccessful
Недавно я повторно настроил конфигурацию сборки TeamCity, чтобы воспользоваться преимуществами функций Branch, чтобы применить одну и ту же конфигурацию сборки к нескольким ветвям в том же репозитории.
Теперь я пытаюсь настроить автоматическую сборку script, которая может вытащить последний артефакт из TeamCity, но только для определенной ветки. Я смог заставить его работать нормально в ветке по умолчанию в исходной конфигурации, используя API-интерфейс TeamCity REST, но не могу понять, как отформатировать URL-адрес, чтобы вытащить артефакт для конкретной ветки.
Я просмотрел следующие ресурсы, но безрезультатно:
http://confluence.jetbrains.com/display/TW/REST+API+Plugin
http://confluence.jetbrains.com/display/TCD7/Patterns+For+Accessing+Build+Artifacts
Мысли?
Ответы
Ответ 1
Я только что наткнулся на эту статью .
Я планирую попробовать это в течение следующих двух дней, и если это сработает, я дам краткий обзор результата для всех, у кого есть проблемы с этим.
EDIT:
Извините за задержку, просто понял, что я никогда не возвращался, чтобы сообщить, как мы решили эту проблему.
Мы закончили обновление TeamCity (что мы должны были сделать в любом случае, так что это было неважно), и как только это было закончено, он отлично справился без особых усилий. Теперь мы запускаем TeamCity v8.1.5, и вот шаблон URL, который мы используем, чтобы вытащить наши артефакты:
http://<build-server>/httpAuth/app/rest/builds/buildType:<build-type>,branch:<branch>/artifacts/content/<artifact-path>
ПРИМЕЧАНИЕ. Мы используем API httpAuth для авторизации доступа к артефактам сборки, поэтому нам также пришлось создать нового пользователя TeamCity для наших развертываний.
Ответ 2
На связанной странице добавлен параметр QueryString для меня:
?branch=<branch_name>
Без этого он загружает только артефакты из ветки по умолчанию.
Наш полный URL:
http://<buildserver>/repository/downloadAll/<BuildId>/.lastFinished?branch=<branchname>
Которая загрузит последнюю сборку из ветки "branchname" в конфигурацию "buildid".
Ответ 3
Вы можете создать URL-адрес следующим образом:
http://<TeamCity-Server>/guestAuth/repository/download/<BUILD_TYPE_ID>/<BUILD_NUMBER>/<ARTIFACT_PATH>