WebDeploy avec MSBuild ne se déployant pas à partir de TeamCity
Je suis en train d'utiliser MSDeploy pour déployer un projet MVC pour le serveur à l'aide de TeamCity. Quand je fais cela sur mon ordinateur en powershell, à l'aide de la commande suivante:
msbuild.exe .\mvc.csproj /p:PublishProfile=DevServer /p:VisualStudioVersion=11.0
/p:DeployOnBuild=True /p:Password=MyPassword /p:AllowUntrustedCertificate=true
Il crée le projet et la déploie sur le serveur (info définis dans le DevServer profil de publication) parfaitement. La sortie indique une MSDeployPublish
section à la fin, en qui je vois un texte comme Starting Web deployment task from source...
et puis, avec des rangées de me dire quels sont les fichiers mis à jour, etc.
Lorsque je l'exécute sur TeamCity, à l'aide d'un MSBuild étape de génération, sur le même fichier, avec les mêmes paramètres (à partir du même répertoire de travail), il crée le projet, mais ne pas la publier. Au lieu de cela il a, la sortie normale à partir d'un processus de construction (CoreCompile, _CopyFilesMarkedCopyLocal, GetCopyToOutputDirectoryItems, CopyFilesToOutputDirectory) mais ne le fait aller et de publier quoi que ce soit.
Ce qui change j'ai besoin de faire de la configuration de TeamCity pour obtenir de publier de déployer de la même façon qu'il fonctionne à l'aide de MSBuild à partir de mon ordinateur?
(TeamCity 7.1, MSBuild 4.0, WebDeploy 3.0, Visual Studio 12, IIS 7. Liées à ma question précédente)
source d'informationauteur Yaakov Ellis
Vous devez vous connecter pour publier un commentaire.
Nous faisons de notre WebDeploys avec un TeamCity MSBuild étape configuré comme suit:
Nous utiliser l'authentification intégrée; le changement comme nécessaire pour s'adapter à votre régime. La valeur de cela, je pense, est qu'il s'appuie tout à partir de zéro et ne pas compter sur un package pré-créé. De l'essentiel que vous avez posté, j'ai remarqué que vous faites quelques DB de publication, nous n'utilisons pas de WebDeploy pour que donc je ne peux pas offrir des conseils. Espérons que cette aide.
- Je utiliser MSBuild.exe package zip, et MSdeploy.exe pour déployer en étapes distinctes.
Pour déployer le package.zip fichier sur la ligne de commande:
Cette commande est également vaut la peine d'expliquer dans le détail:
-verbe:sync : le site web de la synchronisation de la source à la destination
-source:package="C:\Build\MyAppName.Debug.zip" : source est un MSBuild fichier zip package
-dest:auto,wmsvc=webservername : utiliser les paramètres dans le fichier de package pour le déployer sur le serveur. Le compte d'utilisateur est un niveau de l'OS de compte avec la permission. Le nom d'hôte est spécifié, mais pas le nom du site web IIS (ce qui est déjà spécifié dans le fichier projet MSBuild dans les propriétés du projet).
Vous pouvez modifier les paramètres en fonction de votre configuration. Je l'aime de cette façon parce que avec des étapes séparées, il est plus facile de déboguer des problèmes.
Utilisation TeamCity étape de génération et de la ligne de commande de coureur.
Mise à jour:
Si vous voulez un exemple de la façon de construire le package ZIP à l'aide de MSBuild, essayez quelque chose comme ceci:
Cela devrait fonctionner de la même manière sur votre PC local ainsi que sur le serveur CI.
Voici la configuration qui a finalement fonctionné pour moi:
J'ai eu exactement le même problème! J'ai posté la solution que j'ai utilisée sur: MsBuild ne pas trouver le profil de publication
Principes de base ont été:
Assurer que vous avez le
Microsoft Web Developer Tools
fonctionnalité est installée pour Visual Studio. Ce qui manquait à mon agent de build, mais une fois que je l'ai ajouté le TeamCity construire a très bien fonctionné.