Le déploiement d'un package existant à l'aide de profils de publication
Je suis en train d'utiliser la nouvelle profil de publication de soutien (disponible en VS2012 et dans VS2010 via une mise à jour) afin de créer une prestation continue de déploiement "pipeline", dans lequel un paquet/zip est faite dans la première "scène" et la même package est déployé dans des environnements différents à l'aide de différentes configurations.
Quelles sont les tâches/propriétés sont impliqués dans le déploiement d'un package existant à l'aide de paramètres définis dans un pubxml fichier, à partir de la ligne de commande, et sans provoquer une version? Mettre une autre manière, je voudrais à "publier" pour un paquet, puis plus tard "publier" du même package à un autre profil sans le reconstruire.
(Je sais que je peux utiliser MSDeploy directement, mais je préfère avoir moins de plomberie sur chaque projet si possible)
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR 2014-01-28
Garder mon script personnalisé à jour avec le changement de version de VS /Azure SDK a fini par être trop de travail, donc en fait, j'ai été rétrocédés à l'aide de l'généré
deploy.cmd
script, avec une petite différence:J'ai commencé à quitter tous mes valeurs de paramètre de la
ProfileName.pubxml
fichier et au lieu de les mettre dans unProfileName.paramters.xml
(exemple généré dans.SetParameters.xml
avec forfait, docs ici). Ces sera automatiquement repris par Visual Studio /MSBuild par la convention et je peux les utiliser lors de l'exécution en passant par-setParamFile:path\to\ProfileName.parameters.xml
lors de l'appel dedeploy.cmd
Mise à JOUR - UNE nouvelle version de ce script est actuellement maintenu (et documenté) sur GitHub - https://github.com/richardszalay/msdeploy-package-publish
Après beaucoup de creuser, j'ai trouvé que plusieurs des problèmes dans Microsoft.Web.La publication.cibles (v10.5) ce qui empêche ce travail. Pour résoudre ces problèmes, j'ai créé le script MSBuild qui peut être placé dans le même répertoire que l'Application Web csproj. J'ai ajouté des commentaires liés à des correctifs et des détails de mise en œuvre.
Le script utilise Microsoft.Web.La publication.cibles, de sorte que la plupart des propriétés standard doit toujours fonctionner. Voici quelques façons que vous pouvez utiliser:
Si vous utilisez VS2012, assurez-vous de déclarer
VisualStudioVersion=v11.0
à importer le bon fichier de l'éditeur.L'aide de ce script, vous ne devriez pas avoir besoin de vérifier de nouveau votre application web dans la suite des étapes du déploiement d'un pipeline. Vous aurez juste besoin de garder les objets suivants après la construction/paquet étape:
Voici le code source pour PackageDeploy.construire:
VisualStudioVersion=11.0
(sans le v)