Je suis le gestionnaire de programme pour les fonctionnalités d'automatisation de la construction de TFS, alors j'aimerais commenter cette question. Nous n'avons pas remplacé MSBuild avec Windows Workflow (WF). Nous comptons encore beaucoup sur MSBuild en tant que moteur de construction de base, qui est sa compétence de base. Vous constaterez qu'il y a beaucoup de tâches qui sont encore plus facilement et efficacement automatisées avec MSBuild.
Nous avons présenté WF comme un moyen de fournir une couche d'orchestration de niveau supérieur au moteur de construction principal (MSBuild dans les modèles de processus de construction que nous incluons dans la boîte). Il permet de répartir un processus sur plusieurs machines et de lier le processus à d'autres processus basés sur le flux de travail.
Alors, quand devriez-vous automatiser avec MSBuild et quand devriez-vous automatiser avec WF? Voici mon orientation générale sur ce sujet:
- Si la tâche nécessite la connaissance des entrées ou des sorties de construction spécifiques, utilisez MSBuild
- Si la tâche est quelque chose que vous devez arriver lorsque vous créez dans Visual Studio, utilisez MSBuild
- Si la tâche est quelque chose que vous avez seulement besoin de se produire lorsque vous créez sur le serveur de build, utilisez WF à moins qu'il ne nécessite la connaissance des entrées/sorties de construction spécifiques
lorsque vous utilisez MSBuild, rappelez-vous que vous pouvez personnaliser vos fichiers de projet directement (en les déchargeant et t si vous les éditez dans Visual Studio), ou vous pouvez créer des fichiers .targets personnalisés et les importer dans vos projets individuels. Cette dernière approche est utile pour les fonctionnalités communes à plusieurs projets afin d'éviter le maintien de plusieurs copies. Lorsque vous utilisez WF, n'oubliez pas que vous pouvez écrire des activités de code pour les tâches de bas niveau, mais que vous pouvez également composer des tâches de niveau supérieur à l'aide de XAML direct. Nous travaillons actuellement sur une version du modèle de processus de génération par défaut fourni avec TFS 2010 qui vous donne une vue plus simple et moins granulaire du processus global en utilisant un ensemble d'activités XAML composées.
Les builds de workflow sont hérités maintenant :) – paulm
Yup, ils sont sûrs. Je souhaite que Node ou .NET Core ait été une option viable quand nous avons fait le passage à WF. –