Installare TFS 2013 preview

Situazione operativa – aggiornare da un tfs versione precedente

Se volete provare le nuove funzionalità di TFS 2013 preview e state già usando TFS nella vostra azienda, il consiglio migliore che posso dare è quello di effettuare un aggiornamento su nuova macchina, cosi da poter “sperimentare” il nuovo TFS sui dati effettivi della propria azienda. Questo approccio ha i seguenti vantaggi

1) Permette di verificare le procedure di upgrade dalla versione attuale alla 2013 preview
2) Vi fornisce dei dati reali su cui potete lavorare
3) Potete sperimentare le nuove funzionalità sul vostro lavoro quotidiano e su una codebase a voi familiare.

La procedura di upgrade è quella già descritta da me in un precedente post [Aggiornare TFS 2010 a 2012 su nuova macchina], tutti i passi esposti in quel post sono eguali a quelli da effettuare con la versione 2013. In questo caso però, non ho effettuato solamente l’upgrade delle project collection, ma ho anche scelto di ripristinare i reporting services. In questo modo il seguente post espande il precedente, mostrando come ripristinare TFS+Reporting services su nuova macchina partendo dai backup.

prerequisiti

I prerequisiti sono i soliti:

*) Avere un backup del vecchio server che comprende i database dei reporting services e la Encription Key dei report. Per effettuare il backup è sufficiente installare i Power Tools (per le versioni precedenti a TFS 2012 Update 2), ed andare sul nodo di “Team Foundation Backup”. Alternativamente è possibile usare l’utility TfsBackup.exe. [Aggiornare TFS 2010 a TFS 2012 su nuova macchina, FASE 1]

*) Avere installato Sql Server, almeno in versione 2012 Update 1, avere installato tutte le componenti necessarie (Analysis Service, reporting Services, full-text, etc) come descritto nella guida di installazione [TFS Install and Administration Guide]

*) Avere installato TFS 2013 preview

*) Avere effettuato tutti i Windows update disponibili.

Passo 1: ripristinare tutti i database da un backup

In questo caso valgono tutte le considerazioni fatte nel post precedente, con l’unica aggiunta riguardante la configurazione dei Reporting Services, operazione che è descritta in grande dettaglio in MSDN [Backup and Restore data for TFS] e che verrà comunque qui riportata nel PASSO 2.

Importante: Gli strumenti per il backup di TFS sono essenzialmente due, il wizard nato con i Power Tools ed ora integrato nel prodotto e la coppia di utility a riga di comando TfsBackup.Exe e TfsRestore.Exe [Backup and Restore data for Tfs]. E’ chiaramente consigliabile effettuare il restore con l’utility relativa, anche se è possibile usare il TfsRestore.exe per riprstinare un backup effettuato con il wizard. In questo caso però si creerà una situazione leggermente anomala, perchè il nome dei database ripristinati viene preso dal nome dei file, e per questo tutti avranno come suffisso il backupset.

image

In questo caso quindi usate TfsRestore.exe se i backup sono stati creati con TfsBackup.exe, mentre se il backup è stato effettuato con i power tools, usate il wizard presente nella console di amministrazione.

Nel precedente post è stato mostrato come usare TfsRestore.exe per ripristinare un backup effettuato con TfsBackup.exe, in questo caso invece verrà mostrato come usare il wizard di restore. Attenzione: in questo caso il wizard di restore funziona solamente specificando lo share di rete su cui si trova il backup, ed i servizi di Sql Server debbono poter accedere allo share di rete. Potrebbe quindi essere più difficile effettuare il restore in caso di macchine senza dominio Active Directory per problemi di autenticazione.

Per lanciare il wizard di restore è sufficiente usare il “Restore Databases” presente nel nodo Scheduled Backups.

 image

Basta specificare la location del backup, che in questo caso forzatamente deve essere un network path, quindi è necessario che la macchina dove risiede il tfs originale sia accesa e raggiungibile. In questo caso vengono listati tutti i backup set attualmente disponibili, dato che ce ne possono essere più di uno ed è sufficiente scegliere quale si vuole ripristinare.

image

Una volta scelto il backup set si può scegliere anche quale ripristinare tra i singoli database che sono nel backup set, in questo caso tutti perché si vuole ripristinare anche il database dei Reporting Services. In questo caso è necessario anche cambiare il nome dell’istanza di SqlServer, per usare quella della macchina di destinazione.

image

Il wizard ripristina anche la chiave di cifratura dei Reporting Services, evidando di doverlo fare voi manualmente.

image

A questo punto i database vengono ripristinati. L’errore più comune che potete incontrare è quello di non poter accedere ai file nello share di rete originale.

image

Nel caso non riusciate a configurare gli accessi tra le due macchine, la soluzione migliore è quella di procedere con il TfsBackup.exe e TfsRestore.exe come descritto nel post precedente o in MSDN. [Backup and Restore Data for TFS]

passo 2: riconfigurare i reporting services

Dopo il restore dei database, ed in particolare se avete usato TfsRestore.exe, è necessario andare a riconfigurare il Reporting Services, in modo che tutto funzioni correttamente. Il primo passo è aprire la configurazione dei reporting services, e connettersi all’istanza di Reporting Services installata.

image

Scegliere il Change Database dal tab di Database

image

Scegliere il reporting database già ripristinato

image

Scegliere di connettersi all’istanza di SQL che contiene il database dei reporting ripristinato

image

Scegliere il nome del database, se non lo avete cambiato si chiamerà ReportServer

image

Impostare le credenziali da utilizzare per connettersi

image

Applicare le configurazioni e verificare che tutto vada a buon fine

image

Ora è necessario andare nel tab Encryption Keys e ripristinare la chiave Encription key. Questa operazione è necessaria se avete usato TfsBackup e TfsRestore, mentre usando il wizard di backup il restore è stato già effettuato automaticamente dalla procedura di restore.

image

Scegliete il file di backup (ha estensione .snk) e digitate la password che avete inserito in fase di backup, perchè il file .snk deve essere protetto da password.

image

A questo punto andate nel tab “Report Manager Url”, navigate alla url del reporting services e verificate che tutto funzioni correttamente e che i reporting services siano correttamente configurati.

image

Passo 3: aggiornare tfs

Le procedure di aggiornamento sono le stesse descritte nel post precedente [Aggiornare TFS 2010 a 2012 su nuova macchina], solo che in questo caso quando il wizard chiede se si vuole configurare il Reporting per il Team Foundation Server, la risposta è affermativa.

image

Le informazioni che vengono chieste sono in gran parte popolate automaticamente, infatti esiste un link “Populate URLs” che, una volta specificato il nome della macchina contenente i Reporting Services, è in grado di determinare automaticamente le url del reporting.

image

A questo punto è sufficiente richiedere una lista di tutti i database di datawarehousing disponibili sul server. Per chi non fosse familiare con la struttura del reporting in TFS basti sapere che le entità coinvolte sono due: la prima è un database chiamato di default Tfs_Warehouse dove un job sposta i dati dai vari database delle Project Collection e che viene usato per alimentare la seconda entità coinvolta, un Cubo OLAP di Analysis Server chiamato Tfs_Analysis.

SNAGHTML7bc2d

A questo punto si deve procedere specificando il nome della macchina dove è installato l’Analysis Server, che in caso di installazione di singola macchina è sempre il nome della macchina su cui state configurando TFS. Ricordate però che per team grandi è possibile che le macchine dove risiede il Database, i Reporting Services e Analysis Services potrebbero essere anche tre macchine distinte.

SNAGHTML7bc2d[6]

A questo punto potete specificare il nome dell’account utilizzato per il Report Reader, e dato che questa è una macchina di test dove state provando il TFS 2013 preview, si può anche utilizzare lo stesso utente usato per TFS ( TFService ), ignorando il warning successivo.

image

Il resto delle operazioni è identico al post precedente.

passo 4: ricreare il cubo olap

Al termine della configurazione è presente un warning sul Configuration Database che indica che non è sato possibile trovare il database del cubo OLAP Tfs_Analysis. Questo perché di base le procedure di backup e restore di TFS non effettuano il backup e restore dei dati del cubo, ma solamente del database di DataWarehousing.

Naturalmente questo non è un problema, dato che il Cubo OLAP può essere ricreato senza problemi a partire dai dati del DataWarehouse, per fare questo è necessario andare ad editare la configurazione del Reporting Services.

image

Editando la configurazione verrete avvertite che i Job del Data Warehousing saranno fermati, rispondete Yes e potrete procedere alla configurazione. In questo caso nel secondo tab, chiamato “Analysis Services”, premendo Test connection, il risultato sarà positivo, ma verrete avvertiti che il database non esiste e quindi verrà ricreato.

image

A questo punto premendo OK il database verrà ricreato, potete quindi procedere a riabilitare i Job del Reporting Services ed effettuare successivamente uno Start Rebuild per ripopolare nuovamente tutto il cubo OLAP.

image

A questo punto tutto è stato ripristinato correttamente.

passo 5: verificare che tutto funzioni correttamente

A questo punto si può ad esempio navigare in un team project, e verificare che i report siano funzionanti e che mostrino dei dati. Nel mio caso avendo migrato la macchina Virtuale di Brian Keller vado a verificare se sono presenti alcune build che ho lanciato alcuni giorni fa.

image

Se non è presente nessun dato nei report, è necessario capire se il cubo OLAP sia stato già ricostruito, oppure se il processo di rebuild sia ancora in corso. Per collection grandi un rebuild completo del cubo richiede infatti molto tempo, e si può procedere alla verifica dei report solamente quando l’operazione è terminata. Per capire lo stato in cui si trovano i processi del cubo OLAP è necessario accedere manualmente al servizio WarehouseControlService.asmx

http://tfs2013preview:8080/Tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

Trovate maggiori informazioni su questo servizio in un post di Grant Holliday [Warehouse and Job Service Administrator Report], basato su TFS 2010, ma ancora valido anche per il 2013, dato che questo webservice è rimasto praticamente immutato. Il metodo di interesse è il GetProcessingStatus

image

Il quale richiede solamente il terzo parametro per essere chiamato, il risultato è un XML che indica lo stato del processing del cubo, se ad esempio si richiede una ripopolazione completa e subito dopo si invoca questo processo, sicuramente i processi delle varie project collection saranno occupati a popolare il cubo.

image

In questo caso infatti i processi della FabrikamFiberCollection stanno processando un DataChange, questo significa che il cubo non è ancora stato finito di popolare. Quando la popolazione completa è terminata, i job dovrebbero tutti essere in Idle.

image

Il LastRun Result=”Succeeded” da anche chiara indicazione se l’ultima esecuzione è riuscita o meno. Naturalmente è anche possible visualizzare il job history [How to see activity and job History in TFS 2012] per comprendere meglio le cause di un eventuale fallimento di job correlati al ripopolamento del cubo.

Ora non rimane altro da fare che esplorare le nuove funzionalità.

passo 6: abilitare le nuove funzionalità per i team project esistenti

Se si apre un Team Project esistente si potrà notare come le nuove funzionalità del TFS 2013 non siano ancora presenti, ad esempio non è presente il Portfolio Management, anche in questo caso è necessario quindi procedere all’aggiornamento del process template dei vari Team Project per abilitare le nuove caratteristiche; operazione che è completamente automatica se non si è personalizzato troppo pesantemente il process template. [Aggiornare TFS 2010 a TFS 2012 su nuova macchina – PASSO 4]

In questo caso, rispetto all’articolo precedente non è presente immediatamente un link che porta al processo di aggiornamento, ma bisogna andare nelle impostazioni del progetto.

 

image

In questo caso eventuali funzionalità già abilitate verranno semplicemente ignorate (Es TFS 2012 –> 2013), avete inoltre due link che vi permettono di comprendere quali sono le nuove caratteristiche da che verranno abilitate, e soprattutto come poter configurare tutto manualmente in caso le procedure automatiche non riescano. Potete trovare anche uno script powershell per rendere il processo più semplice nel blog di Martin [Upgrading to Visual Studio Scrum 3.0 process template in Tfs 2013].

image

Premendo il bottone Verify è possibile verificare se sia possibile effettuare l’aggiornamento in automatico, in caso affermativo questa è la schermata che appare.

image

Quali siano le funzionalità “nuove” dipende molto dalla versione di TFS da cui state migrando e dalla versione di Update, in MSDN trovate tutte le informazioni relative. [Learn About New Features].

A questo punto si deve solamente verificare che le nuove funzionalità siano state effettivamente abilitate.

image

Gian Maria.