2012-02-22 2 views
13

Я настройка конфигурации сборки в TeamCity 3 шага:Опубликовать артефакты после стадии сборки определенного

  • Построить решение
  • Do модульных тесты
  • Загрузить артефакты FTP

Для FTP uploading Я использовал плагин FTPUpload, взятый из http://teamcityrunners.codeplex.com/. Папка для загрузки был установлен абсолютный путь:

%userprofile%\.BuildServer\system\artifacts\%env.TEAMCITY_PROJECT_NAME%\%env.TEAMCITY_BUILDCONF_NAME%\%env.BUILD_NUMBER%\ 

Согласно построить журнал, артефакты публикации имеют место только после того, как все шаги были завершены.

Можно ли настроить TeamCity для публикации артефактов после определенного этапа сборки?

ответ

8

Если вы хотите загрузить артефакты на сервер TeamCity, вам не нужны внешние плагины, просто заполните «Артефактные пути» в общих настройках для конфигурации сборки. Кроме того, вы можете публиковать артефакты во время сборки с помощью печати, специально отформатированного текста в стандартный выход, "service message"

Вам понадобится плагин упоминается только, если вы хотите загрузить какое-то FTP, не связанное с TeamCity.

+2

Да, я знаю об этой настройке. Спасибо. Но главная задача - загрузить артефакты на сервер, не связанные с TeamCity. – rpeshkov

10

Мы делаем что-то подобное для одного из моих проектов. Мы используем 2 конфигурации сборки.

Первый построит решение, проводит модульные тесты и производит артефакты.

Вторая сборка создана с Artifact Dependency на последней успешной сборке. Это означает, что вторая сборка начнет захватывать артефакты из первой сборки. Вторая сборка будет иметь этап сборки, который загружается на ftp-сайт. Вторая сборка настроена с помощью Finish Build Trigger, указывающей на первую сборку. Это заставит его начинать каждый раз, когда заканчивается первая сборка.

Это немного больше работает таким образом, но как только вы его настроите, он работает очень хорошо.

+1

Спасибо! Это отличная идея. Но возможно ли выполнить полный цикл (сборку, тестирование и развертывание) в единой конфигурации сборки? Это больше вопрос о самодостаточности конфигурации сборки. Одна конфигурация сборки для одного проекта. – rpeshkov

+1

@black_wizard вы можете добавить шаг сборки, который помещает артефакты в одну папку с помощью Ant или что-то еще. затем Ftp оттуда, а затем укажите шаг артефактов teamcity в этой папке. Помимо этих двух способов я не знаю, как это сделать. Я согласен с тем, что это имеет смысл, и вы должны это сделать. Вы можете сделать это запрос функции для следующей версии. Если вы сделаете это, дайте мне знать, и я проголосую за него. –

+1

Хм, похоже, [этот] (http://youtrack.jetbrains.com/issue/TW-1558) запрос функции - это то, что я ищу. – rpeshkov

4

В соответствии с вышеуказанным билетом TW-1558 Публикация наружного артефакта (FTP, копия) Появился новый плагин, который поможет устранить эту проблему. (Я не использовал его.)

http://confluence.jetbrains.com/display/TW/Deployer+plugin В настройках конфигурации сборки для шагов сборки будут доступны новые бегуны. Новые бегуны включают в себя:

  • SMB Deployer - загружать файлы на акции для Windows по протоколу SMB
  • FTP Deployer - загрузка файлов на FTP-серверах
  • SSH Deployer - загрузить файлы через SSH (используя SCP или SFTP протоколов)
  • SSH Exec - выполнить произвольные удаленные команды с помощью SSH
  • Tomcat Deployer - развернуть архивы приложений ВОЙНЫ к удаленному Tomcat экземпляра (требуется менеджер веб-приложение, установленный в мишени Tomcat сервер)
2

Стоит отметить, что с TeamCity 8 вы можете использовать функцию Meta-Runner для создания артефактов, отправив сообщение в журнал сборки.

Смежные вопросы