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?
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/
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
J'ai écrit un article de blog assez long sur ce sujet qui pourrait vous intéresser:
fondamentalement:
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.
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.
Veuillez également considérer un plugin Deployer de l'un des développeurs TeamCity: http://confluence.jetbrains.com/display/TW/Deployer+plugin