2017-09-27 5 views
0

J'ai effectué la mise à niveau vers VS/TFS 2017 et j'en suis au point où je souhaite que la version publie automatiquement un site Web dans un emplacement intermédiaire en utilisant l'un des profils de publication du projet. Je suis impressionné par la flexibilité de la section «Build & Release» du site de projet d'équipe TFS, mais c'est un peu écrasant.Comment appeler un profil de publication dans une version TFS2017 automatisée?

Ce projet dispose de 2 profils de publication simples. Les deux utilisent la «méthode de publication FTP» pour télécharger vers le fournisseur d'hébergement Go Daddy; l'un supprime tous les fichiers avant le téléchargement, l'autre ne met à jour que les fichiers. Il y a des transformations appliquées pour des choses comme des chaînes de connexion. Ces profils de publication fonctionnent correctement. J'ai juste besoin qu'ils soient ajoutés à la fin d'une construction automatisée.

Il semblerait qu'il devrait être simple de dire 'utiliser ce profil de publication', mais il y a tellement d'options et de choix que ce n'est pas intuitivement évident à utiliser, et je n'ai pas réussi à trouver une référence sur le web cela se concentre sur ce que je veux faire.

+0

Comment voulez-vous invoquer le profil de publication? Voulez-vous dire que vous voulez appeler la commande msbuild en utilisant le profil de publication à publier sur le site FTP? Si c'est le cas, alors c'est impossible car la publication FTP n'est pas supportée sur la ligne de commande. –

+0

Pour répondre à votre question, je ne suis pas marié pour invoquer le profil de publication d'une manière spécifique, je voulais juste l'invoquer d'une certaine manière - automatiquement. Il semble que la machinerie du profil de publication soit déjà configurée pour faire exactement ce qui est nécessaire - tout ce qu'il faut, c'est un clic droit, publier et partir. Comme vous le verrez dans mon commentaire ci-dessous, j'ai eu l'impression erronée que les nouvelles applications de 2017 ajoutaient un mécanisme permettant d'engager simplement les profils déjà configurés, utilisant ainsi ce qui fonctionne déjà. Je vais utiliser votre réponse ci-dessous et revenir à cela. – Alan

+0

@Alan clic droit et allez-vous dire en utilisant le studio visuel pour publier l'application basée sur ce profil non? Voulez-vous simplement publier la page avec une méthode spécifique? – Zinov

Répondre

1

Si vous souhaitez appeler la commande msbuild à l'aide du profil de publication pour publier le site Web sur un emplacement FTP, cela est impossible car la publication FTP n'est pas prise en charge sur la ligne de commande.

Si vous insistez sur invoquant le profil de publication, vous pouvez appeler la ligne de commande MSBuild avec le profil de publication utilisé pour publier le site dans un emplacement de mise en scène (par exemple, le chemin local ou UNC), puis utilisez téléchargement FTP étape de tâche pour télécharger le site Web depuis l'emplacement de transit vers l'emplacement FTP spécifique, ou en utilisant le script PowerShell pour télécharger le site Web.

Vous pouvez référencer ce fil: How can I add FTP website deployment to a VS2015/TFS2013 build process

+0

Wow, le post que vous avez référencé était le post, avec d'autres, qui m'a convaincu de mettre à jour mon système de VS2015/TFS2013 à 2017. Il me semblait que ce que je voulais faire serait trop fragile avec l'ancienne combinaison et que le système 2017 était plus robuste et mieux adapté à la mise en place de ce processus. Je dois avoir mal compris vous et les autres. Je vais revoir ce post pour configurer ce que je veux faire. Je reviendrai sur ce post après y avoir travaillé un peu. – Alan

+0

J'ai mis cela comme la réponse que je comprends maintenant ce que vous êtes (et étiez précédemment) dire. Je suis convaincu qu'une partie de mon problème est un déficit de connaissances MSBuild, donc je vais obtenir un livre. Mais en plus de créer MSBuild, j'ai aussi besoin de le configurer sur le serveur de construction.Pouvez-vous me diriger vers une URL ou une autre ressource qui montre comment intégrer MSBuild sur un serveur de construction TFS2017? Mes builds sont actuellement réussis sans aucune autre action; Je ne vois tout simplement pas comment j'intègre les actions que vous avez décrites ci-dessus (selon votre réponse, je n'utiliserai PAS les profils de publication) – Alan

+0

Je pensais que je ferais un suivi pour rapporter le succès - enfin! J'ai utilisé votre lien de l'autre poste SO référencé ci-dessus sur le [site de David Kittle] (https://www.kittell.net/code/powershell-ftp-upload-directory-sub-directories/). Son code semblait le plus efficace pour la journée en cours. Et il s'intègre parfaitement dans une tâche Power Shell dans la définition de construction. Je ferai quelques autres posts pour demander de l'aide pour affiner l'automatisation de CI, mais vos conseils m'ont permis d'arriver à ce point. THX! – Alan