Alkampfer's Place

Il blog di Gian Maria Ricci
posts - 644, comments - 1069, trackbacks - 88

My Links

News

Gian Maria Ricci Mvp Logo CCSVI in Multiple Sclerosis

English Blog

Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

I miei siti

Siti utili

venerdì 19 agosto 2016

Novità di VSTS nell’aggiornamento del 17 Agosto

Anche se molti saranno in vacanza, gli aggiornamenti di VSTS non si fermano, ed il 17 agosto è stato rilasciato il nuovo sprint. Come sempre i dettagli si trovano nel sito ufficiale a questo indirizzo https://www.visualstudio.com/en-us/news/2016-aug-17-vso.

In questo aggiornamento sono state fatte numerose modifiche alla UI ed alle funzionalità delle pull request, ad indicare come Git è sempre più importante nel processo di sviluppo. Una delle modifiche più carine riguarda la possibilità di visualizzare tutte le modifiche fatte ad un file durante una pull request.

Viewing changes on a pull request

In questo modo è immediatamente evidente il lavoro che viene fatto durante la pull request, in modo da verificare che eventuali suggerimenti o richieste fatte, siano effettivamente portate a conclusione.

La possibilità di commentare inline il codice è decisamente interessante, e finalmente si ha la possibilità di utilizzare Markdown e quindi anche di poter inserire snippet di codice, funzionalità decisamente interessante quando si sta commentando del codice, perché è utilissima per fornire alternative.

Comments

Tra le altre novità interessanti vi sono i Template per i Work Items, funzionalità raggiungibile direttamente dal Work Item

image

Come potete vedere si può creare un nuovo template partendo da un Work Item oppure direttamente gestirli dalle configurazione del progetto. Il capture template vi permette di partire da un Work Item già popolato e scegliere quali campi includere nel template.

image

Una volta che il template è stato creato, vi viene proposto immediatamente il link per il template, tramite il quale è possibile andare a creare un work item basato su quel template.

image

Tutti i template possono essere comodamente gestiti dalla pagine di amministrazione del progetto.

image

Queste sono le due funzionalità più interessanti a mio avviso, ma vi suggerisco di andare a leggere l’articolo ufficiale per una descrizione completa https://www.visualstudio.com/en-us/news/2016-aug-17-vso .

Happy VSTS.

posted @ venerdì 19 agosto 2016 10.26 | Feedback (0) |

martedì 16 agosto 2016

Pillole di TFS/VSTS: pubblicazione risultati test in una build

Dall’introduzione del Visual Studio Test Runner, estendibile con plugin, non si ha più la difficoltà di eseguire Unit Test differenti da MSTest durante una build. Tradizionalmente le difficoltà incontrate erano due

-) Eseguire i test a riga di comando con una personalizzazione della build
-) Convertire il risultato dei test nel formato MSTest affinché potesse essere incluso nel risultato di una build.

Ora che i test NUnit o xUnit possono essere eseguiti direttamente con il test runner standard, si può utilizzare l’azione di esecuzione test nella build, avendo l’accortezza di avere incluso il package Nuget per il test runner apposito nel progetto di test.

image

E’ sufficiente aggiungere il package Nuget del test runner ad un progetto di test ed utilizzare il task build standard Test Assemblies per eseguire gli Unit Test durante la build.

Nel nuovo TFS / VSTS, la parte di esplorazione dei risultati dei test è stata molto migliorata, ed è quindi fondamentale che il risultato degli Unit Test sia correttamente associato alla build.

image

Ma cosa succede se per qualsiasi ragione non sia possibile utilizzare l’azione standard di esecuzione test? Ad esempio i test potrebbero essere eseguiti in altre macchine direttamente da riga di comando con esecuzione remota, oppure i test potrebbero essere eseguiti con un framework custom.

Nel nuovo sistema di build è presente un task dedicato appositamente all’upload dei risultati di test verso VSTS / TFS, chiamato appunto Publish Test Results.

image

L’aspetto più interessante di questo task è che comprende molteplici formati di output, tra cui NUnit JUnit e XUNit nativo.

image

In questo modo, anche se avete un framework di Unit Test custom per soddisfare esigenze particolari è sufficiente ad esempio fornire un output standard di tipo NUnit (https://github.com/nunit/docs/wiki/Test-Result-XML-Format) per poterlo associare direttamente alle vostre build.

Gian Maria.

posted @ martedì 16 agosto 2016 11.47 | Feedback (0) | Filed Under [ ALM ]

sabato 16 luglio 2016

Creare un clone dell’istallazione di produzione di TFS con TFS “15”

Ho appena bloggato nel blog inglese una grossa novità dell’installer della nuova versione di TFS, che per ora è identificata con il nome TFS “15”. Nel nuovo wizard è presente una opzione per automatizzare tutte le procedure di creazione di un clone o istanza di Pre-Produzione del vostro TFS.

La necessità di clonare l’ambiente è necessaria in molti scenari, prima di tutto vi permette di validare le procedure di upgrade, in questo caso create un clone del vostro TFS, eseguite le procedure di upgrade sul clone e poi con tutta calma potete verificare che dopo l’upgrade tutto funzioni correttamente.

Un altro scenario tipico è lo sviluppo di estensioni per TFS, perchè con un ambiente Clonato potete sviluppare e testare i vostri plugin o il vostro software su un clone esatto dei dati di produzione, senza interagire con il server di Produzione.

Potete leggere il post integrale nel mio blog inglese che trovate a questo indirizzo, nel quale ho aggiunto anche altri semplici consigli per minimizzare il rischio che l’ambiente Clonato possa interagire con l’ambiente di Produzione generando confusione e problemi.

Gian Maria.

posted @ sabato 16 luglio 2016 11.22 | Feedback (0) | Filed Under [ ALM ]

mercoledì 13 luglio 2016

Nuovo update di VSTS–7 luglio

Un altro sprint è stato deployato in Visual Studio Team Services il 7 luglio e dovrebbe ora essere disponibile per tutti gli account. Come sempre il team ha pubblicato un post con tutte le novità, ed in questo sprint sono state fatte molte modifiche alla ui ed alla usabilità.

Un aspetto interessante è l’inclusione del code coverage dei test eseguiti durante la build, metrica interessante per tutti i team che fanno uso estensivo di unit testing.

Tutte le restanti modifiche sono relativamente piccoli miglioramenti e potete quindi leggerli nel post originale.

Gian Maria.

posted @ mercoledì 13 luglio 2016 8.49 | Feedback (0) | Filed Under [ ALM ]

martedì 21 giugno 2016

Aggiornamento VSTS del 17 giugno

Questa volta l’aggiornamento è stato più rapido del previsto, il 17 giugno abbiamo avuto un altra wave di aggiornamenti su Visual Studio Team Service. Come sempre potete leggere tutti i dettagli nel blog ufficiale, qui vi farò un riassunto delle mie nuove funzionalità preferite.

Innanzitutto se avete un team corposo ed usate GitFlow è possibile che il numero delle branch in Git diventi elevato, per questo nel tab delle branches è ora disponibile una sezione “my branches” dove vedrete le branch che avete creato voi o a cui avete contribuito. In questo modo è immediato distinguere le vostre branch da quelle di altri componenti del team.

Branch picker featuring Mine

Un’altra importante novità è un nuovo header per la form dei Work Item, in particolare è ora presente in molta evidenza il bottone “Save & Close” che sicuramente è quello più utilizzato, dato che molto spesso dopo che si apre un Work Item se lo si modifica si vuole semplicemente chiudere salvando le modifiche effettuate.

Improved work item header

Per tutti coloro che usano le funzionalità di Test ed in particolare le exploratory sessions, è ora finalmente possibile avere una visualizzazione chiara di tutte le exploratory session effettuate sul progetto.

Insights in exploratory testing

Nell’addin di Chrome è ora possibile anche richiedere la registrazione del desktop da includere in un eventuale bug.

Un’altra interessantissima funzionalità è la possibilità di vedere l’andamento dei test per singole branch, questo è molto importante perché cosi si ha la chiara indicazione della qualità delle varie branch

History tab in the result summary page

La funzionalità sicuramente più corposa è però data dalla possibilità di personalizzare il Process Template introducendo stati custom. Questa funzionalità ha un intero post dedicato all’argomento, e costituisce un ulteriore importante passo verso la parità di funzionalità tra VSTS e TFS. Questo permette quindi di avere colonne personalizzabili nella Task Board, grazie alla possibilità di aggiungere stati al Work Item di tipo Task. Non è ancora possibile personalizzare in maniera avanzata le transizioni tra stati (con regole o decidere quali transizioni sono possibili), ma già questa funzionalità rende possibile personalizzare VSTS in modo che si adatti maggiormente alle vostre esigenze.

Per chi sviluppa Java invece è ora possibile effettuare analisi di codice direttamente da un task Maven, senza la necessità di impostare un server Sonar Qube, anche questa funzionalità è abbastanza corposa e descritta in dettaglio in un post dedicato.

Vi invito comunque a leggere il post ufficiale in modo da vedere tutte le novità disponibili.

Gian Maria.

posted @ martedì 21 giugno 2016 19.54 | Feedback (0) | Filed Under [ ALM ]

venerdì 17 giugno 2016

Usare Azure come PAAS e non come IAAS

Si parla tanto di Cloud in questi periodi, e spesso purtroppo l’adozione del Cloud non viene fatto, a mio avviso, nel modo giusto.

Ad esempio, parlando di Azure, se si inizia l’approccio spostando e creando Virtual Machines su Azure il risultato non sempre è piacevole. Se una azienda ha già il suo sistema di virtualizzazione (vmware o Hyper-V) l’avere le VM su Azure non da vantaggi tangibili, soprattutto considerando la banda che abbiamo in Italia.

Se si vuole veramente avvantaggiarsi del Cloud, bisogna approcciare il problema da un punto di vista differente. Per fare un esempio prendo un post scritto dal caro amico Matteo (http://mattvsts.blogspot.it/2016/06/a-simple-vsts-based-pipeline-for-java.html) che spiega come creare una pipeline di Build –> Test –> Release di una app Java in un Azure Web Site.

In questo caso ci stiamo avvantaggiando del cloud in molti punti, e l’esperienza di Matteo è stata molto positiva dal punto di vista dell’operational. Pur non essendo un esperto in java, ma avendo semplicemente un progetto Java con una build di Maven è riuscito in poco tempo a mettere in produzione il prodotto automatizzando tutto il processo.

I vantaggi sono molti

1) Usiamo VSTS, per cui non più sorgenti in casa, abbiamo tutti i tool che servono per la pipeline di sviluppo nel cloud, zero manutenzione
2) Stiamo adottando un approccio DevOps, dove abbiamo automatizzato tutta la pipeline, senza dover mettere nulla in casa.
3) Stiamo rilasciando una applicazione Java standard (un War) per cui non ci stiamo legando a nessuna tecnologia proprietaria che deriva dal Cloud che abbiamo scelto (Azure).
4) Non dobbiamo gestire Tomcat perchè usiamo un approccio PAAS con Azure Web Sites.

Il punto 4 è quello che ci da vantaggio, non dobbiamo installare, manutenere Tomcat, non dobbiamo pensare a creare una infrastruttura di hosting ridondante che ci permetta di essere online 24/7 e soprattutto possiamo modificare le risorse del website a piacimento. Se abbiamo un ecommerce, nel periodo di Natale possiamo semplicemente aumentare le risorse e siamo a posto.

Se al contrario approcciamo il problema installando una VM su Azure dove mettere Tomcat … abbiamo perso in partenza, perchè non stiamo veramente sfruttando il cloud.

Gian Maria.

posted @ venerdì 17 giugno 2016 9.14 | Feedback (0) | Filed Under [ ALM ]

sabato 4 giugno 2016

VSTS release del primo Giugno

Come sempre il team di VSTS ha rilasciato live un nuovo sprint, andato online il primo Giugno e quindi disponibile in tutti gli account in questi giorni (gli update sono attivati a tutti gli account incrementalmente). Come sempre potete leggere online tutti i dettagli in questo post, e qui vi darò un riassunto delle novità più interessanti.

Anche in questo sprint abbiamo un miglioramento della Kanban board, in questo update sono stati aggiunti i filtri, in modo che voi possiate velocemente filtrare e visualizzare solamente le Card che soddisfano particolari requisiti.

Setting filters on the Kanban board 

Per quanto riguarda Git, è ora disponibile il protocollo SSH per connettervi ai vostri repository. SSH è un protocollo oramai deprecato anche da GitHub, ma nondimeno è ancora molto utilizzato, e per questo VSTS lo mette ora a disposizione per tutti gli account.

Managing SSH connections to Git repos

Sempre riguardo Git, la pagina web delle branch è stata completamente ridisegnata, ed in particolare è stato aggiunto un tab “mine” che permette di visualizzare le branch dove l’utente corrente ha contribuito. Inoltre se la branch ha il carattere / nel nome, viene visualizzata come un albero. Questa funzionalità è molto interessante per tutti coloro che lavorano con GitFlow.

Branches page showing the Mine pivot

Sul fronte DevOps è stata introdotta l’integrazione con Docker per la build e soprattutto per il Release Management. Sul fronte della build è stata introdotta la possibilità di creare immagini Docker e di inviarle a Docker Hub. Tutte le nuove funzionalità per Docker sono disponibili con una estensione del marketplace.

Running a Docker image

L’estensione è scaricabile per essere usata con TFS 2015 on premise.

Per tutti coloro che usano Sonar Qube, per tutte le build effettuate su una pull request, e per le quali è attivata l’analisi su Sonar Qube, si possono vedere le code analysis direttamente come commenti al codice.

SonarQube analysis comments

Questa funzionalità, descritta in dettaglio in questo post, è particolarmente interessante, perchè effettua una analisi in modalità differenziale, ovvero viene analizzato solamente il codice nuovo, che quindi entrerebbe nella branch target. In questo modo si può validare la qualità del codice di una pull request, mantenendo molto alta la qualità del proprio codice.

Per tutti gli afficionados della continuous integration, è ora disponibile un Widget per le dashboard che permettono di visualizzare metriche interessanti per i test. In questo modo potrete avere sempre sottocchio tutta la parte di testing delle vostre build.

Test results trend widget

Come sempre queste sono solamente alcune delle novità rilasciate, per una lista completa rimando al post ufficiale https://www.visualstudio.com/news/2016-jun-1-vso

Happy VSTS.

Gian Maria.

posted @ sabato 4 giugno 2016 10.15 | Feedback (0) | Filed Under [ ALM ]

martedì 10 maggio 2016

Update VSTS–6 Maggio

Un altro aggiornato è stato fatto a Visual Studio Team Service il 6 Maggio, come sempre l’aggiornamento non è disponibile a tutti gli account immediatamente, per cui ho deciso di attendere qualche giorno prima di fare il post.

Anche in questo aggiornamento troviamo importanti novità, che il team spesso prende da UserVoice . In questa release finalmente abbiamo la possibilità di personalizzare il Process Template includendo campi booleani che vengono rappresentati come Check-Boxes.

Checkbox control added to a work item

Altre modifiche cosmetiche sono state fatte alle board, in cui è possibile ora scegliere se vedere o meno le annotazioni.

Un’altra interessantissima modifica è la possibilità di personalizzare le tile di tipo Query nelle Dashboard, cambiando i colori di sfondo in maniera condizionale. Ad esempio nella figura sottostante è stato chiesto di visualizzare il background in rosso se il numero di Bug Attivi eccede il valore di 40.

Selecting rules and colors for Query Tiles

Per quanto riguarda il Release Management, è stata introdotta la possibilità di utilizzare un repository Git o TFVC come sorgente di artefatti. In questo modo non è più necessario essere costretti a pubblicare tramite build script o altri artefatti per poterli usare in una definizione di RM.

Sono state introdotte inoltre REST API per interagire con il Release Management, in modo da rendere semplice interagire tramite codice con RM.

Come sempre ci sono altre modifiche minori e potete leggere tutta la lista nel sito ufficiale di Visual Studio.

Gian Maria.

posted @ martedì 10 maggio 2016 9.04 | Feedback (0) | Filed Under [ ALM ]

mercoledì 27 aprile 2016

Live update nella Kanban Board in VSTS

Una delle ultime novità per la Kanban Board in VSTS offre la possibilità di abilitare il “live update” per la board, attivabile selezionando una semplice icona a fianco delle impostazioni.

image

Figure 1: Icon to enable live update to Kanban Board

Una volta abilitata, la board rifletterà in tempo reale ogni cambiamento dei work item che sono rappresentati nella board stessa. Questo significa che modificando o riordinando o cambiando colonna o in generale modificando qualsiasi proprietà di un Work Item da qualsiasi sorgente (web, Visual Studio, Integratione con Excel, etc), i cambiamenti si rifletteranno immediatamente nella board.

Questa possibilità è interessante in accoppiata con la visione in full screen (l’icona a destra dei settaggi), che permette di visualizzare la board a pieno schermo. Questa funzionalità, assieme al Live Update, permette di mettere un monitor o televisione che mostra sempre in tempo reale la situazione della board.

Questa funzionalità è per ora solamente disponibile per VSTS.

Gian Maria.

posted @ mercoledì 27 aprile 2016 22.32 | Feedback (0) | Filed Under [ ALM ]

martedì 19 aprile 2016

Configurare TFS 2013+ con il Team Field

In alcuni articoli passati ho spiegato come configurare TFS o VSTS per utilizzare un solo Team Project, dividendo il lavoro logico con il concetto di Team in TFS. In tutti gli articoli l’approccio utilizzato è stato quello di configurare per i vari Team L’area Path e l’iteration path assegnati, in modo che ogni Work Item appartenesse al backlog di uno o più team in base all’area path o all’iteration Path.

Se avete TFS on-premise, dove potete configurare il process template, potete adottare una soluzione che spesso porta ad una configurazione più chiara, ovvero modificare il Process Template per far aggiungere un campo esplicito che determina l’appartenenza di un Work Item ad uno o più Team. Questo approccio viene chiamato Team Field e la sua configurazione viene descritta direttamente in MSDN.

Il processo da seguire è molto semplice, si crea una GLOBALLIST con la lista dei vari team, si configurano tutti i Work Item che sono visualizzati nelle varie board aggiungendo un campo custom ed infine si configura il processo per utilizzare tale campo invece dell’Area ed Iteration path.

Una volta effettuata questa configurazione, per ogni Team del vostro Team Project si dovranno scegliere i valori di tale campo per cui un Work Item è associato al team. Questo permette quindi di creare anche un Team chiamato Admin che ha associati tutti i valori possibili per tale campo, in modo che questo Team possa vedere tutto nella board.

A questo punto per assegnare un Work Item ad un particolare team si può semplicemente cambiare il valore del Team Field, rendendo il processo di assegnazione sicuramente più esplicito.

Gian Maria.

posted @ martedì 19 aprile 2016 20.04 | Feedback (0) | Filed Under [ ALM ]

Powered by: