2009-12-31 8 views
70

Estoy configurando TeamCity como mi servidor de compilación.¿Cómo implementar después de una compilación con TeamCity?

Tengo mi proyecto configurado, se está actualizando correctamente desde la subversión y compilando bien.

¿Qué sigue?

Idealmente, me gustaría que se implemente automáticamente en un servidor de prueba, con una implementación manual en un servidor en vivo/en etapas.

¿Cuál es la mejor manera de hacerlo?

Dado que estoy usando C#/ASP.Net, ¿debería agregar un proyecto de implementación web a mi solución?

+1

¿Has visto el BuildMaster de Inedo? Un flujo de trabajo común que veo es hacer que los artefactos de construcción se retiren de TeamCity y se implementen/configuren con BuildMaster en varios servidores. Artículo de referencia rápida: http://inedo.com/support/kb/1031/integrating-jetbrains-teamcity-with-buildmaster (descargo de responsabilidad: trabajo para Inedo) –

+0

Hice una recomendación similar antes, pero no trabajo para Inedo . Vale la pena mirar – Damon

Respuesta

58

En este artículo se explica cómo llamar a la herramienta WebDeploy de Microsoft desde TeamCity para desplegar una red aplicación a un servidor web remoto. Lo he estado usando para implementar en un servidor web de prueba y ejecutar pruebas de selenio en el check-in.

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

  1. Instalar WebDeploy
  2. Habilitar config Web transforma
  3. Configurar TeamCity BuildRunner
  4. Configurar TeamCity dependencias de construcción

Los argumentos de MSBuild que trabajaron para mi aplicación fueron:

/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

¿cómo configuro la notificación por correo electrónico una vez que se completa la implementación? – user384080

+0

@Michael Valenty: Probé la solución dada como '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 = Contraseña # 321/p: AllowUntrustedCertificate = True/p: DeployIisAppPath = Sitio web predeterminado/Nuevo/p: MSDeployPublishMethod = WMSVC'. Me da un error ' MSBUILD: error MSB1008: Solo se puede especificar un proyecto. Switch: Sitio web/Nuevo' –

14

He escrito un post bastante largo sobre este mismo tema que le puede interesar:

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

básicamente:

  • instalar proyectos de despliegue web del proyecto de distribución web
  • complemento a su solución
  • configure el administrador de configuración de la solución para que tenga una configuración de compilación "Despliegue"
  • equipo a conseguir la ciudad a utilizar este conmutador de construcción cuando se ejecuta la acumulación
  • tienen una cerveza y maravilla en la gloria a su awesomenesss automágicas
+0

tenga en cuenta que esta respuesta ya no es relevante para vs2013 + ya que eliminaron los proyectos de implementación web – enorl76

9

Estamos utilizando Octopus Deploy para administrar nuestros entornos en la parte superior de la ciudad del equipo.

Como un proceso de compilación, tenemos una versión Octopus y Octopus Deploy que crea una versión en Octupus que luego también se despliega automáticamente;

Dado que Octopus administra nuestros entornos, también proporcionó variables que utilizamos ampliamente y podemos usar la misma construcción para crear un nuevo entorno.

Cuestiones relacionadas