Aggiornare TFS 2010 a TFS 2012 su nuova macchina

Per molte persone l’aggiornamento da una versione alla successiva di TFS crea molte preoccupazioni, solitamente perché sembra una operazione molto complessa. In realtà è molto semplice e se non si fa uso di SharePoint o Reporting Services (ad esempio se si usa la versione Basic o Express) è addirittura semplicissima e può essere effettuata grazie ad un semplice wizard di update presente in TFS 2012.

Lo scopo di questo post è mostrare come sia assolutamente banale effettuare un update del solo TFS (senza reporting services, analysis services e sharpoint) dalla versione 2010 alla 2012. L’upgrade non viene fatto in-place, ovvero non si procederà all’aggiornamento sulla stessa macchina, ma verrà effettuato lo spostamento su una nuova macchina. L’aggiornamento in-place infatti è ancora più semplice perché può essere effettuato semplicemente lanciando il setup dall’installazione di TFS 2012 e seguendo un wizard.

Questo scenario è particolarmente interessante anche perché costituisce un buon esempio di come si procede al restore di un TFS partendo dal backup dei suoi database. Secondariamente, provare l’upgrade su una nuova macchina consente di provare tutta la procedura di upgrade mentre il vecchio server rimane online, cosi da valutare tempi, eventuali problemi, ed avere tempo di fare tutte le verifiche del caso.

fase 1 – backup

La fase 1 è effettuare un backup del server attuale, operazione che viene automatizzata grazie ai power tools, che aggiungono nella console di amministrazione di TFS il nodo Team Foundaion Backups. Non entro in dettaglio nella configurazione del backup, perché dovrebbe essere già configurato e schedulato in maniera automatica, per chi invece non lo avesse mai impostato (perché magari basa i suoi backup su un intero backup della macchina virtuale di TFS) ecco come fare.

Dopo avere installato i power tools è sufficiente usare il nodo “Team Foundation Backups” per creare con un semplice wizard uno script di backup. Basta specificare uno share di rete dove inserire i backup, l’utente che li deve effettuare e lo scheduling ed il gioco è fatto

image

Il piano di backup esegue i backup in maniera schedulata, ma si può sempre lanciare manualmente, per cui si può generare un backup quando lo si vuole.

E’ anche possibile effettuare il backup con l’utility TfsBackup.exe, se non si hanno installati i power tools, come descritto in MSDN. [Backup and Restore data for TFS]. In questo esempio useremo quindi la TfsBackup.exe, che è presente nel prodotto base. Questa utility si trova in c:\program files\Microsoft Team foundation Server 11.0\tools, ed una volta lanciata presenta una GUI per connettersi alla macchina dove risiede Sql Server.

image

Backup passo 1: Scegliere il nome della macchina dove risiedono i database

Procedendo è sufficiente selezionare i database che si vuole backuppare, in questo caso solamente quelli relativi al TFS ed alle due project collection, ignorando Sharepoint e Reporting Services; è necessario anche scegliere la cartella dove inserire i backup.

image

Backup passo 2: Scegliere i database da backuppare, potete scegeliere solamente i database strettamente necessari a TFS oppure effettuare il backup anche di Sharepoint e dei Reporting Services.

A questo punto l’utility effettua i backup.

Una volta che i backup sono stati effettuati, si può procedere comunicando a tutti gli altri nel team che il TFS verrà fermato per l’aggiornamento. Per essere certi che nessuno si connetta è possibile usare il comando TFServiceControl quiesce che ferma tutti i servizi di TFS.

Verificate che nessuno sia più in grado di accedere al vecchio TFS, è giunto il momento di procedere all’installazione del nuovo.

La migrazione ad una nuova macchina è utile soprattutto per verificare ed effettuare una proof-of-concepts dell’aggiornamento. E’ infatti possibile far continuare gli utenti a lavorare nel vecchio server mentre si prova a fare l’aggiornamento su di un nuovo server, specialmente per capire quanto tempo è necessario per l’aggiornamento stesso.

Fase 2 – Restore

Nel server di destinazione si procede prima di tutto all’installazione di Sql Server (se non ricordate quale funzionalità di Sql vengono usate da TFS usate la guida di installazione), successivamente si procede all’installazione di TFS 2012 Update 2, ed una volta completata, quando viene aperta l’interfaccia di configurazione, la si può ridurre ad icona e procedere al restore dei database del vecchio server.

L’operazione di restore è banale, prima di tutto si spostano tutti i file di backup generati dal piano di backup dal vecchio al nuovo server, ad esempio nella cartella c:\Backups, e poi dalla cartella c:\program files\microsoft team foundation server 11.0\tools lanciare l’utility TFSRestore.exe, per effettuare il restore dei database.

5-21-2013 4-32-52 PM

Restore passo 1: Il TFSRestore.exe chiede l’istanza di database destinazione per il restore

5-21-2013 4-46-34 PM

Restore passo 2: Bisogna ora specificare la posizione dei backup, in questo caso la combo in alto permette di navigare tra le cartelle del computer per scegliere il disco C e la cartella c:\Backups

5-21-2013 4-47-08 PM

Restore passo 3: Automaticamente vengono scelti i database relativi a TFS, in questo caso non si è interessati al restore dei Reporting services e di Sharepoint per cui si lasciano deselezionati i relativi database. In realtà questa immagine rappresenta il restore di un tfsBackup.exe in cui è stato effettuato il backup di tutti i database, questo per mostrare che è sempre possibile in fase di restore decidere quali database ripristinare.

5-21-2013 4-47-25 PM

Restore passo 4: Il restore dei database procede automaticamente e tutti i database vengono quindi ripristinati nel nuovo server.

 

Fase 3 – Upgrade

Arrivati a questo punto si può riprendere la console di amministrazione di TFS (o se la si è precedentemente chiusa basta riaprirla), e procedere alla configurazione, scegliendo naturalmente l’opzione Upgrade.

image

Upgrade passo 1: Scegliere Upgrade tra le opzioni di configurazione

image

Upgrade passo 2: Premere semplicemente Next per passare allo step successivo

image

Upgrade passo 3: Premendo “List Available Databases” apparirà il database di configurazione ripristinato, a questo punto è necessario marcare “by checking this box, I confirm that I have a current backup” che rassicura il wizard sul fatto che si sia in possesso di un backup del server.

image

Upgrade passo 4: Viene chiesto l’utente che si vuole utilizzare per eseguire il servizio dell’AT di TFS, si può tranquillamente lasciare Local Service, oppure usare account specifici (come consigliato dalla guida).

image

image

Upgrade passo 5: Deselezionare la configurazione dei reporting services e di Sharepoint, perchè in questo articolo si è interessati a mostrare l’upgrade del solo TFS (Es TFS Basic, oppure TFS Express)

image

Upgrade passo 6: Viene presentato un semplice riepilogo di tutte le informazioni necessarie.

image

Upgrade passo 7: Le operazioni di verifica non solamente controllano che sia tutto ok prima di procedere, ma in caso di problemi danno spesso la soluzione immediata. In questo specifico caso la macchina è stata rinominata dopo avere installato sql server e questo crea problemi con l’utente amministratore, ma il wizard fortunatamente non solo rileva il problema prima di procedere, ma indica esattamente anche quale comando lanciare per risolverlo. Una volta risolti i problemi si può cliccare sul “click here to rerun readiness checks” per rieseguire la verifica. Si può premere next solamente se non vi sono errori nella verifica.

image

Upgrade passo 8: Dopo avere completato le operazioni di verifica, si può premere Next e procedere dunque alle reali funzioni di Upgrade, che in primo luogo installano e configurano l’AT di TFS 2012, in questa schermata si può vedere come l’AT sia stato correttamente configurato, si deve quindi procedere all’aggiornamento delle Project Collections.

image

Upgrade passo 9: Le project collection presenti vengono aggiornate anche queste in maniera automatica.

image

Upgrade passo 10: Tfs è aggiornato.

image

Upgrade passo 11: Viene mostrato un riepilogo di tutte le notifiche avute durante l’upgrade, vengono segnalati eventuali warning ed errori. Viene mostrato anche un link per avere un log completo (che consiglio di salvare per successive consultazioni).

Come si può vedere le operazioni di restore/upgrade sono completamente automatizzate e non necessitano di intervento manuale.

Fase 4 – Verifica e aggiornamento process template

A questo punto è necessario verificare che tutto funzioni correttamente procedendo a verificare l’accesso al codice, l’accesso web, etc. E’ inoltre necessario procedere all’aggiornamento dei Team Projects affinché le nuove funzionalità di TFS 2012 siano disponibili. Es. la agile dashboard. In primo luogo si procede solitamente alla creazione di un nuovo Team Project di test per verificare che sia tutto ok e che tutte le funzionalità siano disponibili, poi si procede ad aggiornare i Team Project già esistenti.

Quando si crea un Team Project il Process Template (che non è altro che un insieme di file XML che definiscono Work Items ed il processo) viene più o meno copiato dentro al Team Project stesso. Una volta aggiornato il TFS, purtroppo questi file contengono quindi ancora la definizione del vecchio Process Template e quindi le nuove funzionalità non sono disponibili.

Si proceda ad esempio all’apertura di un Team Project esistente

image

In questa figura viene indicato che alcune funzionalità non sono disponibili. La agile dashboard infatti è disponibile solamente per chi ha una licenza MSDN Premium od Ultimate o Test Professional, e di base tutti gli utenti vengono considerati invece utenti default, ovvero semplici utenti con una CAL normale.

Andando nella configurazione e scegliendo nel breadcrumb in alto a sinistra il primo nodo: pannello di controllo, è possibile impostare i livelli di accesso

image

Per questo esempio si è selezionato il livello Full e si sono aggiunti due utenti, che avranno quindi tutte le funzionalità di TFS abilitate nella web interface. Nella figura sottostante si può infatti vedere come ora siano disponibili più link nella lista di Attività.

image

Cliccando sul Visualizza Backlog si nota però che non è ancora possibile utilizzarlo dato che il Process Template di questo Team Project è ancora quello del 2010.

image

La ragione dettagliata di questo è la seguente: nella definizione dei Work Item, così come nella configurazione generale del progetto è necessario avere alcuni campi particolari introdotti con il TFS 2012, affinché tutta la parte di pianificazione agile, feedback e le nuove funzionalità possano funzionare. La definizione dei vecchi progetti è ancora relativa al 2010, per cui purtroppo le nuove funzionalità non sono configurate.

La buona notizia è che è presente un semplice link chiamato “configura funzionalità” che tenta di configurare automaticamente tutto.

image

Come si può vedere vengono listate tutte le funzionalità che non sono ancora state abilitate, ad esempio la funzionalità di Storyboard necessita nella definzione della User Story di una serie di campi per poter collegare le storyboard fatte con PowerPoint. Il bottone Verifica consente di verificare se è possibile procedere automaticamente all’aggiornamento.

image

In questo caso la procedura automatica rileva che questo Team Project è basato su MSF For Agile Software Development 6.2 ed è quindi possibile aggiornarlo automaticamente, premendo il tasto Configura.

image

Dopo pochi momenti la configurazione finisce. Quello che accade dietro le quinte è che che la procedura di aggiornamento scarica in locale una per volta le varie definizioni dei Work Item cosi come le definizioni dei processi, aggiorna l’XML aggiungendo i nuovi campi e le nuove informazioni che necessitano a TFS 2012 per far funzionare le nuove funzionalità e riaggiorna il Team Project con le nuove versioni.

Nessun dato viene modificato o perduto, vengono solamente aggiornate le definizioni dei Work Item e la struttura del progetto.

image

Et voilà ora tutte le nuove funzionalità sono attivate anche per i vecchi Team Projects.

Gian Maria.

3 Responses to Aggiornare TFS 2010 a TFS 2012 su nuova macchina

  1.  
  2.  
  3.  

    Ottimo, articolo davvero interessante, era proprio quello che cercavo! Grazie per lo spunto!