c# - ¿Cómo implementar después de una compilación con TeamCity?
asp.net deployment (5)
Estoy configurando TeamCity como mi servidor de compilación.
Tengo mi proyecto configurado, se está actualizando correctamente desde la subversión y compilando bien.
¿Qué es lo siguiente?
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?
Considere también un plugin de Deployer de uno de los desarrolladores de TeamCity: http://confluence.jetbrains.com/display/TW/Deployer+plugin
Estamos usando Octopus Deploy para administrar nuestros entornos en la parte superior de Team city.
Como proceso de compilación, tenemos un lanzamiento de Octopus y Octopus Deploy que crea un lanzamiento en Octupus que luego también se despliega automáticamente;
Dado que Octopus está administrando nuestros entornos, también proporcionó variables que utilizamos extensamente y podemos usar la misma construcción para crear un nuevo entorno en conjunto.
Este artículo explica cómo llamar a la herramienta WebDeploy de Microsoft de TeamCity para implementar una aplicación web en 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/
- Instalar WebDeploy
- Habilitar transformaciones de configuración web
- Configurar TeamCity BuildRunner
- Configurar las dependencias de compilación de TeamCity
Los argumentos de MSBuild que funcionaron 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
He escrito una publicación de blog bastante larga sobre este mismo tema que puede interesarte:
básicamente:
- instalar proyectos de despliegue web
- agregar proyecto de implementación web a su solución
- configurar el administrador de configuración de la solución para que tenga una configuración de compilación de "Implementación"
- consigue que team city use este modificador de compilación cuando ejecuta la compilación
- tomar una cerveza y maravillarse con la gloria de tus genialidades automotrices
Por lo general, lo que hago es crear un instalador Wix. Un proyecto Wix se puede construir con MsBuild por lo que no debería haber problemas allí.
También recomendaría mirar las siguientes extensiones de MsBuild para la implementación automatizada:
http://www.codeplex.com/MSBuildExtensionPack
http://msbuildtasks.tigris.org/
Espero que esto ayude.