2009-07-01 11 views
10

Contesto: Abbiamo una configurazione server TFS in cui gestisco il nostro codice sorgente e traccia gli elementi di lavoro e gli errori. Abbiamo anche l'installazione CC.Net per aiutarci a fare CI (per lo più solo costruire ed eseguire test unitari). Utilizziamo .net framework 3.5 e VS 2008Quali sono/sono le differenze tra MSBuild e TFSBuild

Conosco MSBuild e lo utilizzo nel nostro progetto corrente per eseguire molte attività di pre-distribuzione e distribuzione. Tuttavia, non sono sicuro dello scopo di TFSBuild. I pensare viene utilizzato a livello del server TFS per eseguire attività di compilazione. Ma non riesco a trovare una buona documentazione sul fatto se e come io (come sviluppatore, non un amministratore del nostro TFS ... gli sviluppatori hanno solo accesso in lettura al server TFS) possa usare TFS Build per rendere più semplici le attività di implementazione/CI. Usare TFSBuild può rendere il mio compito più facile/più efficiente quando sto già utilizzando MSBuild per il mio processo di compilazione e CC.Net sta già eseguendo il set di test unitari che abbiamo? TFSBuild è un'alternativa a CC.Net? Che ne pensi dell'integrazione di TFSBuild con Visual Studio 2008?

Aggiornamento: Come si inserisce "TeamBuild" in questo gruppo. Più che la teoria, un semplice esempio che mette insieme queste cose sarebbe davvero utile. In questo momento, facciamo solo due cose: usare MSBuild per svolgere attività di distribuzione (aggiornare il file di configurazione, le informazioni sulla versione, pubblicare l'app sul server remoto), quindi CC.Net prende il sopravvento. Dove posso inserire TeamBuild/TFSbuild in questa immagine. E, cosa più importante, ne ho bisogno? Capisco che tutti hanno requisiti diversi, ma in generale può essere d'aiuto? Una buona ragione che ho ottenuto da una delle risposte per l'utilizzo del build TFS è stata la creazione automatica dei ticket TFS in alcune condizioni. Quali sono alcune cose come quella che voi ragazzi di solito fate?

+0

Intendi Team Build? L'unico TFSBuild che conosco è il file TFSBuild.proj. –

+0

John, sono io stesso confuso tra TeamBuild e TFSBuild ora. :). Qualsiasi spiegazione che potresti avere su entrambi sarebbe utile. – desigeek

+0

Non esiste una cosa come "TFSBuild", come un componente eseguibile. Vedi le risposte qui sotto. –

risposta

14

TFS utilizza lo stesso MSBuild 3.5 sotto il cofano per automatica costruisce che Visual Studio 2008 utilizza localmente. TFS definisce la propria sequenza di build fornendo a MSBuild un file .proj che importa i target specifici di TFS e arricchisce la sequenza di build della soluzione con le funzionalità utili nell'ambiente Team (ad esempio, ottieni l'ultima versione dal controllo del codice sorgente, crea la build, crea Ticket TFS se build fallisce ecc.)

Ecco il my attempt at making sense of all these build frameworks fornendo una prospettiva storica: (le mie supposizioni e ipotesi potrebbero non essere valide ma dovrebbero comunque essere utili informazioni concettuali per noobs). Scopri l'ultima sezione chiamata "Concetti MSBuild correlati a TFS" - ha alcuni link utili.

3

MSBuild vs TFSBuild

MSBuild è la tecnologia che viene utilizzata per l'attuale build. Il nodo "Crea" in Team Explorer è un file XML che inserisce i parametri di base che verranno inseriti in MSBuild. Quando aggiungi una build in questo nodo, in realtà aggiungerà alcuni file alla struttura di controllo del codice sorgente. Questi sono i file che sono collegati a MSBuild che si desidera personalizzare.

È possibile automatizzare le build molto facilmente. È disponibile uno strumento da riga di comando chiamato tfsbuild, che dovrebbe trovarsi nella cartella% Programmi% \ Microsoft Visual Studio 8 \ Common7 \ IDE. Si specifica un server TFS, un progetto team e un tipo di build (il nome creato nel nodo "build"). Utilizzare questa utilità della riga di comando e utilizzare l'Utilità di pianificazione all'interno di Windows per chiamare questo (Programmi -> Accessori -> Utilità di sistema -> Pianifica attività).

Fonte: MSDN Forums