Как развернуть артефакты TeamCity на Amazon EC2 Server - PullRequest
3 голосов
/ 03 марта 2011

Мы решили использовать облачные сервисы AMAZON AWS ​​для размещения нашего основного приложения и других инструментов.По сути, у нас есть подобная архитектура

  • TESTSERVER : Экземпляр EC2, в котором развернуто наше основное приложение.Тестеры имеют доступ к приложению.
  • SVNSERVER : Экземпляр EC2, на котором размещены наши Subversion и репозиторий.
  • CISERVER : Экземпляр EC2, который установлен и настроен JetBrains TeamCity.

Сейчас мне нужен CISERVER для извлечения кодов из SVNSERVER, build, если buildуспешно, модульное тестирование, и после того, как все тесты пройдены, артефакты успешной сборки должны быть развернуты на TESTSERVER.

Я завершил настройку CISERVER для извлечения кода, сборки, тестирования и создания артефактов.Но я не мог определить, как развернуть артефакты в TESTSERVER.

Есть ли у вас какие-либо предложения или процедуры для этого?Спасибо за помощь.

PS: Я прочитал это Вопрос и не удовлетворен.

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Обновление : для TeamCity существует плагин для развертывания, позволяющий публиковать артефакты несколькими способами.

Старый ответ :Вот обходной путь для проблемы, заключающейся в том, что в TeamCity нет встроенных артефактов, публикуемых по FTP:

http://youtrack.jetbrains.net/issue/TW-1558#comment=27-1967

Вы можете

  1. создать конфигурациюкоторый создает артефакты сборки
  2. создает конфигурацию, которая публикует артефакты по FTP
  3. устанавливает зависимость артефакта в TeamCity от конфигурации 2 до конфигурации 1
  4. Используйте ручной или автоматический запуск дляЗапустите конфигурацию 2 с артефактами, созданными в конфигурации 1. Таким образом, ваши артефакты будут загружены из сборки 1 в конфигурацию 2 и опубликованы на вашем FTP-хосте.

Другой способ - создать дополнительный шаг сборки вTeamCity для конфигурации 1, которая публикует ваши файлы по FTP.

Надеюсь, это поможет, KIR

1 голос
/ 03 марта 2011

Что мы делаем для развертывания, так это то, что сотрудники QA входят в систему и запускают сценарий, который развертывается путем извлечения из репозитория Team City в любое время.Они могут видеть в командном городе (и получать по электронной почте), произошла ли новая сборка, но независимо от того, просто они развернуты, когда захотят.С точки зрения того, как создать такой сценарий, компонент команды city включает извлечение артефакта.Вот почему мой ответ ссылается на получение артефактов по URL - это то, что любой разумный сценарий может сделать с помощью wget (который также имеет порт Windows) или аналогичных инструментов.

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

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

...