Visual Studio Release Management - una nuova Weltanschauung o un'evoluzione naturale
1. getlatestversion
Visual Studio Release Management: una nuova
Weltanschauung o un’evoluzione naturale?
Giulio Vian
blog.casavian.eu
giuliodev@gmail.com
@giulio_vian
2. 25 anni disonorata professione
14 anni di
Ora in
Me? I’m just an OpsDev, you can tell it by the way I walk…
Alcune cosine su GitHub
TfsGitAdmin GitPushFilterPlugin TfsAggregator2
dal 2010 suppergiù
Se parlo in glese, fermatemi
Ma chi è?
3. Visual Studio Release Management „vNext“
Da novembre in anteprima su VSTS (preview)
Domande cui vogliamo rispondere
Cos’è e in quale contesto
Disponibilità e costi
Vantaggi
Complessità
Idiosincrasìe
Di che si parla?
Said undelicately, in
the cloud, we can
release features that
aren't finished yet.
Brian Harry
Sessione livello 200 più per progettisti che per smanettoni.
4. Cos’è Visual Studio Release Management „vNext“
«Soluzione DevOps per la distribuzione semplice
e più frequente del software»
Automazione simile alla build specifica per il deploy
Nuova tecnologia rispetto InRelease, 2013 o 2015
Strumento implementazione Continuous Delivery
5. Cos’è Visual Studio Release Management „vNext“
«Soluzione DevOps per la distribuzione semplice
e più frequente del software»
Automazione simile alla build specifica per il deploy
Nuova tecnologia rispetto InRelease, 2013 o 2015
Strumento implementazione Continuous Delivery
6. Strumento per gestire il rilascio di pacchetti prodotti da team di
sviluppo, interni od esterni, agli ambienti di test e produzione,
siano essi in casa o esterni, facilitando il coordinamento con i
team di gestione e monitoraggio degli ambienti stessi
Ossia quel che avviene dopo la build
Mia definizione
7. You’re doing continuous delivery when:
• Your software is deployable throughout its lifecycle
• Your team prioritizes keeping the software deployable over working
on new features
• Anybody can get fast, automated feedback on the production
readiness of their systems any time somebody makes a change to
them
• You can perform push-button deployments of any version of the
software to any environment on demand
Martin Fowler dice che…
Source: http://martinfowler.com/bliki/ContinuousDelivery.html
8. • Si può rilasciare sempre, dal primo all’ultimo giorno
• Se si rompe si fissa subito anche se Babbo Natale vuol
cambiare il colore dei bottoni
• Chiunque può conoscere lo stato dei rilasci sui diversi
ambienti
• I rilasci sono automatizzati alla pressione di un bottone per
qualsiasi ambiente e versione
...che tradotto vuol dire
11. Al momento solo da VSTS
Il primo è gratis (nei limiti)
Hosted Agent (cioè in Azure)
€33,73 al mese l‘uno
Private Agent (ovvero in casa)
€12,65 al mese l‘uno
Disponibilità e costi
13. Libreria di task limitata
Un bene?
Flusso delle variabili
Ragionare per gruppi di macchine
Livelli degli oggetti
Service Endpoints
Complessità
14. Migrazione dalle versioni precedenti
http://blogs.msdn.com/b/visualstudioalmrangers/archive/2015/12/09/release-
management-workflow-migrator.aspx
Non c’è ereditarietà
Ad es. Credenziali legate alla release
I task sono spesso orientati alla singola macchina
Anche se verso Azure…
…o con le magie di Powershell…
…e Azure Stack potrebbe annullare le differenze
Idiosincrasìe
15. Agente installato
Non richiede essere amministratore (credenziali nella Release)
TFS / VSTS in vista (HTTP/S)
Immagine VM, DSC, Chef, …
Configurazione macchina
Es. Configurazione IIS, installazione WebDeploy
Installazione Applicazione
L’uovo o la gallina? (bootstrapping)
16. approver come i carabinieri
Agent Pools per isolare gli ambienti (produzione dal resto)
Un environment non è un ambiente
Sicurezza
Agent Pool Admin AccountVSTS / IstanzaTFS
Agent Queue Administrators / Users Collection
Release Administrators Project
Creare release è molto potente
Avvertenze per l’uso
17. Sguardo al futuro (Update 2)
Vincolo sequenza lineare di ambienti
Possibilita` di saltare rilasci intermedi
Finestra temporale di rilascio definita in fase di approvazione
Piu` approver (and/or)
“Release notes” calcolate in automatico
TFS Update 2 on-prem
Source: http://blogs.msdn.com/b/visualstudioalm/archive/2016/01/08/vsts-
release-management-plan-for-2016-h1.aspx
20. Optimize your DevOps practices and tools:
Get started on your DevOps journey: aka.ms/devops
Download the Forrester Infrastructure-as-Code whitepaper:
Complexity kills. Automate with Infra as code: aka.ms/iac_tlp
Technical resources for Practitioners:
Get access to free online training: aka.ms/devopsmva
DevOps Maturity Self-Assessment
See where your organization is at across 7 areas: http://devopsassessment.azurewebsites.net/
Learn DevOps Practices hands-on with PartsUnlimited apps
github.com/Microsoft/PartsUnlimited and github.com/Microsoft/PartsUnlimitedMRP
Accelerate your application delivery lifecycle
La prima è ufficiale dalla versione italiana del sito Microsoft ma è talmente vaga che può essere applicata a cose diverse, ad esempio SCCM, se non fosse il termine DevOps
DevOps «is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes» - WikiPedia
La seconda ci anticipa qualcosa sull’aspetto tecnologico, come è implementata questa funzionalità
La terza spiega il termine vNext
Ricordiamo un poco la storia, MS acquisice InRelease per coprire il gap in attesa di una soluzione integrate che è appunto vNext
Per ultimo osserviamo l’aspetto di processo
Da notare Delivery non Deployment ma ci torneremo sopra
Nota con VSTS cloud non significa pubblico!
https://giuliovdev.visualstudio.com/DefaultCollection/_git/RMDemo2016H1
bagigi
Entrambe le cose: c’è stata un completo rifacimento dell’implementazione, MA è una evoluzione di Build.vNext
A livello di gestione si possono migliorare diverse cose, però le fondamenta sono in essere e solide
Mi auguro vedere una esplosione di task orientati più ad una fase logica di processo che ad una tecnologia, ad esempio per un roll-out graduale
Cosa non abbiamo visto?
Non-Windows agents and platoforms