Team Foundation Server Integration Platform (part 2)
Scritto da
Matteo Emili
il
mercoledì 28 luglio 2010
Linguaggio:
•
Framework:
•
Livello: 200
Nell'articolo precedente abbiamo visto com'è fatta sotto al
cofano la Integration Platform, ora andiamo a vedere sul campo, con
una demo, come utilizzarla.
Scenario
Utilizziamo uno scenario abbastanza semplice, per comodità:
snapshot migration di Version Control e Work Items fra due Team
Foundation Server 2010.
In un TFS ho una Project Collection (Demo Collection) contenente
un Team Project chiamato "Demo" con del codice ed alcuni Work Item,
legati fra di loro con una relazione padre-figlio.
Nell'istanza "vuota" invece ho la Project Collection di default
contenente un Team Project chiamato "DomusDotNet", completamente
vuoto.



Demo
Apriamo la console, e creiamo una nuova configurazione per la
migrazione.

Devo scegliere un template. Ne ho a disposizione diversi, che
spaziano dall'integrazione fra TFS fino a connettori per IBM
Rational ClearCase e ClearQuest, o anche al file system.

Nel nostro caso, fra quelli per Team Foundation Server, scelgo
quello che mi permette di fare migrazione di VC e WIT.

Fatto questo, assegno un nome alla configurazione e lascio
invariato il tipo di workflow (one-way migration, in questo caso).
Configuro le sorgenti e le destinazioni mediante la stessa user
interface che utilizzo nel Team Explorer per selezionare il Team
Project a cui mi debbo collegare.
Una piccola nota: per "Left Source" si intende sempre la
partenza, quindi bisogna inserire il Team Foundation Server
contenente i dati da sincronizzare.
E' possibile aggiungere alcuni settaggi personalizzati (cosa che
per ora non faremo), ma soprattutto qualunque impostazione è
completamente modificabile sia da UI, che da visualizzazione
XML.



Ora salviamo nel database la configurazione, e siamo pronti a
far partire la migrazione.

Verranno sollevati alcuni conflitti che il Conflict Resolution
Engine non è riuscito a risolvere. Ecco come si presentano:

A volte, basterà un retry dell'operazione senza alcuna modifica,
altrimenti potrebbe essere necessario scegliere uno dei due file,
oppure eseguire un merge dei due changeset (che potrà essere ancora
una volta automatico o manuale, come ben sappiamo). In questo caso,
la versione da tenere in considerazione è quella della sorgente,
quindi risolviamo rapidamente.
Alla fine, otteniamo un confortante feedback:

Oltre a delle statistiche sulla migrazione ed i conflitti:

Migrazione terminata.
Limiti
Gli oggetti che vengono migrati sono, evidentemente, solo i Work
Item ed il codice sorgente (con i relativi collegamenti fra di
loro). Quindi niente report, niente definizioni di build, niente di
tutto ciò.
Non vengono preservati gli ID dei Work Item ed i changeset
numbers, ma sono riassegnati sequenzialmente durante la migrazione
(mantenendo comunque validi tutti i link), cosi come i timestamps
delle revisioni sono tutti azzerati al momento della
migrazione.
Questi sono i limiti ad oggi. Ma ricordiamo sempre che è una
beta, e che lo sviluppo è continuo. Quindi per il futuro c'è da
aspettarsi molto (come dimostrano i nuovi connettori per IBM
Rational).
Tags: Team Foundation Server,Integration Platform