Як розгорнути після побудови за допомогою TeamCity?


75

Я встановлюю TeamCity як мій сервер збірки.

У мене налаштований проект, він правильно оновлюється з диверсії і створює нормально.

То що далі?

В ідеалі, я хотів би мати автоматичне розгортання на тестовому сервері з ручним розгортанням на реальному / проміжному сервері.

Який найкращий спосіб це зробити?

Оскільки я використовую C # / ASP.Net, чи варто додати проект Web Deployment до свого рішення?


1
Ви бачили BuildMaster Inedo? Я бачу загальний робочий процес - витягування артефактів збірки з TeamCity та розгортання / налаштування за допомогою BuildMaster на різні сервери. Коротка довідкова стаття: inedo.com/support/kb/1031/… (застереження: я працюю в Inedo)
Karl Harnagy

Я давав подібну рекомендацію раніше, але я не працюю для Inedo. Варто подивитися.
Деймон

Відповіді:


61

У цій статті пояснюється, як викликати інструмент Microsoft WebDeploy з TeamCity для розгортання веб-програми на віддаленому веб-сервері. Я використовував його для розгортання на тестовому веб-сервері та запуску тестів на селен під час реєстрації.

http://www.mikevalenty.com/automatic-deployment-from-teamcity-using-webdeploy/

  1. Встановіть WebDeploy
  2. Увімкнути перетворення веб-конфігурації
  3. Налаштуйте TeamCity BuildRunner
  4. Налаштування залежностей збірки TeamCity

Аргументами MSBuild, які працювали для моєї програми, були:

/p:Configuration=QA  
/p:OutputPath=bin  
/p:DeployOnBuild=True  
/p:DeployTarget=MSDeployPublish  
/p:MsDeployServiceUrl=https://myserver:8172/msdeploy.axd  
/p:username=myusername  
/p:password=mypassword  
/p:AllowUntrustedCertificate=True  
/p:DeployIisAppPath=ci  
/p:MSDeployPublishMethod=WMSVC

як встановити сповіщення електронною поштою після завершення розгортання?
user384080

@Michael Valenty: Я спробував подане рішення як MSBuild.exe C:\BuildAgent\work\4c7b8ac8bc7d723e\WebService.sln /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://204.158.674.5/msdeploy.axd /p:username=Admin /p:password=Password#321 /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=Default WebSite/New /p:MSDeployPublishMethod=WMSVC. Це видає мені помилку `MSBUILD: помилка MSB1008: Можна вказати лише один проект. Перемикач: WebSite / New`
Nevin Raj Victor

14

Я написав досить довгу публікацію в блозі саме на цю тему, яка може вас зацікавити:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

в основному:

  • встановити проекти веб-розгортання
  • додати проект веб-розгортання до вашого рішення
  • налаштуйте менеджер конфігурації рішення, щоб мати конфігурацію збірки "Розгортання"
  • змусити команду city використовувати цей перемикач збірки під час запуску збірки
  • випийте пива і здивуйтеся в славі своїм автоматичним дивовижам

2
зауважте, ця відповідь більше не стосується vs2013 +, оскільки вони видалили проекти веб-розгортання
enorl76

10

Зазвичай я створюю програму встановлення Wix. Проект Wix можна створити за допомогою MsBuild, тому у вас не повинно виникнути проблем.

Також я б рекомендував переглянути автоматичне розгортання таких розширень MsBuild:

http://www.codeplex.com/MSBuildExtensionPack
http://msbuildtasks.tigris.org/

Сподіваюся, це допоможе.


10

Ми використовуємо Octopus Deploy для управління нашим середовищем на вершині Team city.

Як процес побудови ми маємо випуск Octopus і Octopus Deploy Створення випуску в Octupus, який потім також автоматично розгортається;

Оскільки Octopus керує нашим середовищем, він також надав змінні, які ми широко використовуємо і можемо використовувати ту саму збірку для створення нового середовища разом.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.