Comment déployer après une construction avec TeamCity?

Je mets en place TeamCity comme serveur de compilation.

J’ai mon projet mis en place, il se met à jour correctement à partir de subversion, et en construisant ok.

Alors, quelle est la prochaine?

Idéalement, je souhaiterais qu’elle soit déployée automatiquement sur un serveur de test, avec un déploiement manuel sur un serveur live / de transfert.

Quelle est la meilleure façon de procéder?

Étant donné que j’utilise C # / ASP.Net, devrais-je append un projet de déploiement Web à ma solution?

Cet article explique comment appeler l’outil WebDeploy de Microsoft à partir de TeamCity pour déployer une application Web sur un serveur Web distant. Je l’ai utilisé pour déployer sur un serveur Web de test et exécuter des tests de selenium à l’enregistrement.

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

  1. Installer WebDeploy
  2. Activer les transformations de configuration Web
  3. Configurez TeamCity BuildRunner
  4. Configurer les dépendances de construction TeamCity

Les arguments MSBuild qui ont fonctionné pour mon application étaient les suivants:

/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 

J’ai écrit un article de blog assez long sur ce sujet qui pourrait vous intéresser:

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

fondamentalement:

  • installer des projets de déploiement Web
  • append un projet de déploiement Web à votre solution
  • configurer le gestionnaire de configuration de la solution pour qu’il ait une configuration de construction “Deployment”
  • faire en sorte que la ville d’équipe utilise ce commutateur de build lorsqu’elle exécute la construction
  • avoir une bière et émerveiller en gloire à vos fantaisies automagiques

Généralement, je crée un programme d’installation Wix. Un projet Wix peut être construit avec MsBuild, vous ne devriez donc pas avoir de problèmes.

Je recommande également de consulter les extensions MsBuild suivantes pour le déploiement automatisé:

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

J’espère que ça aide.

Nous utilisons Octopus Deploy pour gérer nos environnements en plus de Team city.

En tant que processus de construction, nous avons une version Octopus et Octopus Deploy pour créer une version dans Octupus qui est ensuite également déployée automatiquement;

Étant donné qu’Octopus gère nos environnements, il fournit également des variables que nous utilisons largement et peut utiliser la même version pour créer un nouvel environnement.

Veuillez également considérer un plugin Deployer de l’un des développeurs TeamCity: http://confluence.jetbrains.com/display/TW/Deployer+plugin