2009-12-31 2 views
70

Я настраиваю TeamCity как мой сервер сборки.Как развернуть после сборки с TeamCity?

У меня есть мой проект, он правильно обновляется из подрывной деятельности и строит ОК.

Итак, что дальше?

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

Каков наилучший способ сделать это?

Поскольку я использую C#/ASP.Net, должен ли я добавить проект веб-развертывания в мое решение?

+1

Вы видели конструктор Inedo BuildMaster? Обычный рабочий процесс, который я вижу, - это сбор артефактов, выведенных из TeamCity, и развертывание/настройка с помощью BuildMaster на различные серверы. Краткая справочная статья: http://inedo.com/support/kb/1031/integrating-jetbrains-teamcity-with-buildmaster (отказ от ответственности: я работаю для Inedo) –

+0

Я сделал аналогичную рекомендацию раньше, но я не работаю для Inedo , Это стоит посмотреть. – Damon

ответ

58

В данной статье описывается, как вызвать WebDeploy инструмент от Microsoft с TeamCity для развертывания веб приложения на удаленный веб-сервер. Я использую его для развертывания на тестовом веб-сервере и запуска селеновых тестов при регистрации.

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

  1. Установите WebDeploy
  2. Enable Web конфиг трансформирует
  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 
+0

как установить уведомление по электронной почте после завершения развертывания? – user384080

+0

@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 = Пароль # 321/p: AllowUntrustedCertificate = True/p: DeployIisAppPath = WebSite по умолчанию/Новый/p: MSDeployPublishMethod = WMSVC'. Это дает мне ошибку ' MSBUILD: ошибка MSB1008: Можно указать только один проект. Переключатель: WebSite/New' –

10

Обычно я создаю установщик Wix. Проект Wix можно построить с помощью MsBuild, поэтому у вас не должно быть проблем.

Кроме того, я бы рекомендовал смотреть на следующие расширения MSBuild для автоматического развертывания:

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

Я надеюсь, что это помогает.

14

Я написал довольно длинный пост в блоге на этой самой теме, которые могут вас заинтересовать:

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

в основном:

  • установки проектов развертывания веб-
  • добавить проект развертывания веб к вашему решению
  • настроить диспетчер конфигурации решения на конфигурацию сборки «Развертывание»
  • прибудет команда города, чтобы использовать эту сборку переключатель при запуске сборки
  • есть пиво и чудо в славе вашем срабатывают само awesomenesss
+0

Обратите внимание, что этот ответ больше не относится к vs2013 +, поскольку они удалили проекты развертывания веб-сайтов – enorl76

9

Мы используем Octopus Deploy для управления наших сред на вершине городов команды.

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

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

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