Sono Program Manager per le funzioni di automazione build di TFS, quindi mi piacerebbe commentare questa domanda. Non abbiamo sostituito MSBuild con Windows Workflow (WF). Ci affidiamo ancora molto spesso a MSBuild come motore di core build, che è la sua competenza principale. Scoprirai che ci sono molti compiti che sono ancora più facilmente ed efficacemente automatizzati con MSBuild.
Abbiamo introdotto WF come un modo per fornire un livello di orchestrazione di livello superiore sopra il core build engine (che è MSBuild nei modelli di processo di build che includiamo nella casella). Rende possibile fare cose come distribuire un processo su più macchine e legare il processo in altri processi basati sul flusso di lavoro.
Così, quando si dovrebbe automatizzare con MSBuild e quando si dovrebbe automatizzata con WF? Ecco la mia guida generale su questo argomento:
- Se l'operazione richiede la conoscenza degli ingressi di compilazione specifici o uscite, utilizzare MSBuild
- Se l'attività è qualcosa che è necessario che accada quando si genera in Visual Studio, utilizzare MSBuild
- Se l'attività è qualcosa che solo bisogno che accada quando si crea sul server di build, usa WF a meno che non richiede la conoscenza di specifici ingressi build/uscite
quando si utilizza MSBuild, ricordate che è possibile personalizzare i file di progetto direttamente (scaricandoli e t quando li si modifica in Visual Studio), oppure è possibile creare file .target personalizzati e importarli nei singoli progetti. Quest'ultimo approccio è utile per funzionalità comuni a più progetti per evitare il mantenimento di più copie.
Quando si utilizza WF, ricordate che è possibile scrivere codice attività per compiti di basso livello, ma che si può anche comporre i compiti di livello superiore utilizzando XAML dritto. Stiamo attualmente lavorando a una versione del modello di processo di generazione predefinito fornito con TFS 2010 che offre una vista più semplice e meno dettagliata dell'intero processo utilizzando una serie di attività XAML composte.
fonte
2010-06-09 14:28:46
Le build del flusso di lavoro sono ormai obsolete :) – paulm
Sì, sono sicuro. Spero che Node o .NET Core siano stati un'opzione valida quando abbiamo fatto il passaggio a WF. –