TFS Basic Usage for a single developer
In questo screencast vedremo l’uso di TFS per il singolo sviluppatore.
Alla prossima!
Team Foundation Server 2010: novità “under the hood”
In questo post tenterò di dare risalto ad alcune novità di TFS 2010 finora poco “chiacchierate”
Si è parlato parecchio di Team Project Collections (i “contenitori” di progetti), ma come sono gestiti “sotto il cofano”, all’interno di SQL Server?
In precedenza esistevano diversi database, uno per il Source Control, uno per i workitems, uno per la build, ecc. Con la versione 2010 le cose cambiano.
C’è infatti un database esclusivamente dedicato alla configurazione, uno dedicato ai reports, ed ogni Team Project Collection ha il suo database dedicato, che contiene il codice sorgente, i workitems, ecc. In questo modo la singola Team Project Collection è spostabile da un server all’altro senza perdere nulla.
Capitolo High Availability. Have you ever heard about “TFS Farms?”
Una TFS Farm è una combinazione di due elementi, ossia degli Application Tiers in Network Load Balancing e la scalabilità totale del Data Tier (questo è un fattore legato al fatto che ogni Team Project Collection è ospitabile su un singolo database). Ciò rende TFS 2010 altamente flessibile in ogni tipo di ambiente, ancor di più che le versioni precedenti.
La Team Build ha subito grosse modifiche, di cui la più importante è l’essere basata su Windows Workflow Foundation 4.0. Inoltre ora è possibile definire dei pools di build servers, e non solo la singola macchina, ed i Build Agents possono essere “taggati” con le loro funzionalità peculiari.
Queste sono alcune delle novità, in realtà ce ne sono così tante da poter andare avanti per ore
Alla prossima!
Virtualizzazione ed Ingegneria del Software, un legame a doppio filo…
Spesso mi si chiede quale sia l’importanza di utilizzare la virtualizzazione durante lo sviluppo di un software, oppure quale sia l’uso che se ne può fare.
Questo è, a grandi linee, il processo di sviluppo software. Graficato in modo circolare. Io preferisco immaginarlo come un tronco di piramide, dove alla base ho gli strumenti di virtualizzazione. A quanto pare non sono il solo…
Lab Management fa da fondamenta per il Team Foundation Server e tutti i suoi servizi. Ma torniamo al modello di Software Development Lifecycle di prima…
- Envisioning and Planning
La virtualizzazione qui è fondamentale: immaginiamo di sviluppare dei prototipi. Come li testiamo? Con a disposizione dei template di macchina virtuale già pronti, possiamo fare il deploy dell’ambiente che ci serve ed iniziare a testare le idee che vorremmo implementare concretamente. - Development
Nello sviluppo l’assistenza che la virtualizzazione ci offre è impareggiabile. Possiamo testare in tempo reale il nostro codice, debuggarlo all’interno di una VM, verificarne il funzionamento ed evitare la sindrome “It works on my machine”. - Stabilization
L’esecuzione di piani di test all’interno di un ambiente virtualizzato si ricollega alla mia affermazione di prima: no more “It works on my machine syndrome”! Avvalendosi poi di strumenti come IntelliTrace, è possibile eliminare i bug non riproducibili, avendo a disposizione dump di memoria ad esempio (oppure lo snapshot dell’intero ambiente, con Lab Management). - Deployment
E’ possibile avere diversi ambienti di build virtualizzati, di modo tale da eseguire in parallelo diverse release di codice. - Molto altro…
Non ci si ferma di certo qui. C’è chi distribuisce delle macchine virtuali già pronte con le trial già installate dei propri prodotti, un’idea semplice e geniale. O, andando verso l’alto, addirittura fornire una infrastruttura VDI ai nostri sviluppatori, rendendoli indipendenti dalla postazione di lavoro. Oppure, server farm dedicate per i test semplicemente all’interno di un piccolo server (cosa quasi impensabile con macchine fisiche).
Questa è una visione abbastanza sintetica e ristretta, perchè il binomio ALM-Virtualizzazione è molto più esteso ed ha potenzialità incredibili…ma sufficientemente sintetica per dare una panoramica generale su una piccola frazione dei risultati che può dare questa accoppiata.
