web-dev-qa-db-fra.com

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

J'installe TeamCity comme serveur de génération.

J'ai mon projet configuré, il se met à jour correctement à partir de Subversion et se construit correctement.

Et maintenant?

Idéalement, j'aimerais le déployer automatiquement sur un serveur de test, avec un déploiement manuel sur un serveur en direct/intermédiaire.

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

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

72
Neil N

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 Selenium lors de l'enregistrement.

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

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

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

/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
59
Mike Valenty

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
  • ajouter un projet de déploiement Web à votre solution
  • installer le gestionnaire de configuration de la solution pour avoir une configuration de build "Déploiement"
  • obtenir la ville de l'équipe d'utiliser ce commutateur de build lors de l'exécution de la build
  • prenez une bière et émerveillez-vous dans la gloire de vos merveilles automagiques
14
Doug

Nous utilisons Octopus Deploy pour gérer nos environnements au-dessus de Team city.

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

Étant donné qu'Octopus gère nos environnements, il a également fourni des variables que nous utilisons largement et pouvons utiliser la même version pour créer un nouvel environnement tous ensemble.

10
Amit

En général, ce que je fais, c'est de créer un programme d'installation Wix. Un projet Wix peut être construit avec MsBuild, vous ne devriez donc avoir aucun problème.

Je recommanderais é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.

10
Burt

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

3
KIR