SlideShare a Scribd company logo
1 of 29
Download to read offline
DotNetCode.IT
Microsoft .Net Coding Community
www.dotnetcode.it
DotNetCode.IT
Microsoft .Net Coding Community
Azure DevOps CI/CD
Benvenuti
DotNetCode.IT
Microsoft .Net Coding Community
DotNetCode.IT
Microsoft .Net Coding Community
DotNetCode.IT
Microsoft .Net Coding Community
{'Speaker'}
{‘Simone’:’Natalini'}
{ 'Cloud Solutions Specialist':'AlmavivA' }
DotNetCode.IT
Microsoft .Net Coding Community
AGENDA
• Definizione di CI /CD
• Introduzione a Azure DevOps.
• Strumenti di Azure DevOps a supporto
• Creazione di una pipeline di build
• Attivare una build in modalità continua
• Rilascio di una build in ambienti di Produzione
• Continuous Deployments Multi Stage
• Q&A
DotNetCode.IT
Microsoft .Net Coding Community
Definizione di CI /CD
DotNetCode.IT
Microsoft .Net Coding Community
Definizione di CI
Continuous Integration sono delle pratiche che favoriscono
l’integrazione del codice sorgente, anche più volte al giorno,
sviluppato dai team, minimizzando possibili errori di compilazioni
dovuti alla merge del codice.
Permette di rilevare bug e segnalarli in automatico al team di
sviluppo responsabile di quella porzione di codice.
E’ MOLTO importante correlare il codice di test di integrazione
e di unit test
DotNetCode.IT
Microsoft .Net Coding Community
Definizione di CD
Continuous Deployment sono delle pratiche che favoriscono il
processo di messa in produzione del codice validato, anche più
volte al giorno.
Automatizza il ciclo di rilascio per renderlo il più possibile
immediato
Permette una gestione della configurazione centralizzata
DotNetCode.IT
Microsoft .Net Coding Community
?
2)
• Gestione di un solo repository del codice
• Escuzione di test automatici nella build stessa
• Commit consistenti e frequenti
• Piccole funzionalità implementate in modo
incrementale
1)
• Maggiore controllo sul vostro codice
• Maggiore qualità del codice rilasciato
• Facile risposta ai cambiamenti tecnologici
• Facile risposta ai cambiamenti di business
• Facile risposta ai cambiamenti di design
• Build automatizzata
• Replicabile su ambienti diversi
3)
• Manifesto agile
• https://agilemanifesto.org/iso/it/manifesto.html
• https://agilemanifesto.org/iso/it/principles.html
• «La nostra massima priorità è soddisfare il cliente
rilasciando software di valore, fin da subito
e in maniera continua»
DotNetCode.IT
Microsoft .Net Coding Community
What is DevOps?
Build
&
Test
Continuous
Delivery
Deploy
Operate
Monitor
&
Learn
Plan
&
Track
Develop
DevOps is the union of people,
process, and products to
enable continuous delivery of
value to your end users.
DotNetCode.IT
Microsoft .Net Coding Community
Introduzione a Azure DevOps
DotNetCode.IT
Microsoft .Net Coding Community
Introducing Azure DevOps
Deliver value to your users faster
using proven agile tools to plan,
track, and discuss work across
your teams.
Build, test, and deploy with CI/CD that
works with any language, platform,
and cloud. Connect to GitHub or any
other Git provider and deploy
continuously.
Get unlimited, cloud-hosted
private Git repos and collaborate
to build better code with pull
requests and advanced file
management.
Test and ship with confidence
using manual and exploratory
testing tools.
Create, host, and share packages
with your team, and add artifacts to
your CI/CD pipelines with a single
click.
Azure Boards Azure ReposAzure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
➔
DotNetCode.IT
Microsoft .Net Coding Community
DotNetCode.IT
Microsoft .Net Coding Community
Azure DevOps Services Pricing
Free
Unlimited users and build time
• Azure Pipelines: 10 parallel jobs with
unlimited minutes for CI/CD
• Azure Boards: Work item tracking and
Kanban boards
• Azure Repos: Unlimited public Git repos
Free
Start free with up to 5 users
• Azure Pipelines: Run 1 Microsoft-hosted
job for 1,800 minutes per month and 1
self-hosted job for any amount of time
• Azure Boards: Work item tracking and
Kanban boards
• Azure Repos: Unlimited private Git repos
• Azure Artifacts: package management
• Load testing (20,000 VUMs/month)
• Unlimited stakeholders
Starts at $6
per user, per month for Boards & Repos*
Easy pricing that grows with your team
• Azure Pipelines: Run 1 Microsoft-hosted
job for 1,800 minutes per month and 1
self-hosted job for any amount of time
• Azure Boards: Work item tracking and
Kanban boards
• Azure Repos: Unlimited private Git repos
• Azure Artifacts: package management
• Load testing (20,000 VUMs/month)
• Unlimited stakeholders
• Visual Studio subscribers included free
https://azure.com/pricing/details/devops/➔
5 Boards & Repos users and 5 Artifacts users free. Pipelines
with unlimited minutes, Test Plans users and additional
Artifacts users also available. Please see the Azure pricing
calculator for details.
*
DotNetCode.IT
Microsoft .Net Coding Community
Definizione di una build
DotNetCode.IT
Microsoft .Net Coding Community
Build pipeline
Una build è definita da task. Un task ha diverse versioni
Utilizza un agent o un set di agent (agentpool) per eseguire i comandi dei
task
Utilizza token e variabili per identificare una build in maniera univoca
Una build può essere startata anche da eventi (CI)
DotNetCode.IT
Microsoft .Net Coding Community
Build pipeline
L’ agent può essere di tipo Microsoft hosted o custom
Le varibili possono essere utilizzate per I task condizionali
• Build.ArtifactStagingDirectory è il path dove l’agent crea gli artefatti prima di essere copiati sulla destinazione
indicate dal task (c:agent_work1a )
• Build.BinariesDirectory è il path dove l’agent ha copiato le vostre dll prima di essere pubblicate sulla destinazione
(c:agent_work1b)
• Build.Repository.LocalPath è il path dove l’agent deposita il codice sorgente (c:agent_work1s)
• Build.StagingDirectory ha la stessa funzione di Artifact ma viene ripulita ad ogni build
Eventi basati su Path filters
DotNetCode.IT
Microsoft .Net Coding Community
DEMO Build pipeline
DotNetCode.IT
Microsoft .Net Coding Community
Definizione di una release
DotNetCode.IT
Microsoft .Net Coding Community
Release pipeline
Una release è definita da task. Un task ha diverse versioni
Utilizza un agent o un set di agent (agentpool) per eseguire i comandi dei task
Utilizza token e variabili per identificare una build in maniera univoca
Una release può essere startata anche da eventi (CD)
E’ composta da uno o più environment
DotNetCode.IT
Microsoft .Net Coding Community
DEMO Release pipeline
DotNetCode.IT
Microsoft .Net Coding Community
Microsoft .Net Coding Community
DotNetCode.IT
Microsoft .Net Coding Community
Prossimo Meetup 20/02/2020
20/02/2018
Kubernetes & Rancher
Community
Staff
Tech
Writer
Tech
Speaker
DotNetCode Articles Newsletter
DotNetCode.IT
Microsoft .Net Coding Community
Selfie Lottery
www.dotnetcode.it
http://bit.ly/sldnc20200130
DotNetCode.IT
Microsoft .Net Coding Community
Grazie a Tutti!
DotNetCode.IT
Microsoft .Net Coding Community
DotNetCode.IT
Microsoft .Net Coding Community
Follow US!
www.dotnetcode.it
https://www.facebook.com/DotNetCode.IT
https://twitter.com/DotNetCodeIT
https://plus.google.com/+DotnetcodeIt

More Related Content

What's hot

Building infrastructure as code with typescript and aws cdk
Building infrastructure as code with typescript and aws cdkBuilding infrastructure as code with typescript and aws cdk
Building infrastructure as code with typescript and aws cdkAndrea Valentini
 
Continuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clicContinuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clicMichele Ferracin
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il MobilePietro Libro
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure FunctionLuca Congiu
 
AWS CDK infrastructure is code
AWS CDK infrastructure is codeAWS CDK infrastructure is code
AWS CDK infrastructure is codeEnrico Pesce
 
kube-green | Davide Bianchi
kube-green | Davide Bianchikube-green | Davide Bianchi
kube-green | Davide BianchiKCDItaly
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote ItalyMarco Parenzan
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
 
DevOpsConf2021 - GitOps and best practices for cloud native CI/CD
DevOpsConf2021 - GitOps and best practices for cloud native CI/CDDevOpsConf2021 - GitOps and best practices for cloud native CI/CD
DevOpsConf2021 - GitOps and best practices for cloud native CI/CDAntonio Liccardi
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreAndrea Dottor
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKSGiuliano Latini
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019Alessio Iafrate
 
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...Alessio Biasiutti
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 

What's hot (20)

Building infrastructure as code with typescript and aws cdk
Building infrastructure as code with typescript and aws cdkBuilding infrastructure as code with typescript and aws cdk
Building infrastructure as code with typescript and aws cdk
 
Continuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clicContinuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clic
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure Function
 
AWS CDK infrastructure is code
AWS CDK infrastructure is codeAWS CDK infrastructure is code
AWS CDK infrastructure is code
 
kube-green | Davide Bianchi
kube-green | Davide Bianchikube-green | Davide Bianchi
kube-green | Davide Bianchi
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 
Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
 
DevOpsConf2021 - GitOps and best practices for cloud native CI/CD
DevOpsConf2021 - GitOps and best practices for cloud native CI/CDDevOpsConf2021 - GitOps and best practices for cloud native CI/CD
DevOpsConf2021 - GitOps and best practices for cloud native CI/CD
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKS
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
 
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...
Tutto quello che non vi hanno mai detto su Azure Integration Services (Logic ...
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 

Similar to Meetup Azure DevOps

CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeDotNetMarche
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functionsdotnetcode
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017Giulio Vian
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxGiuliano Latini
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Gian Maria Ricci
 
Kubernetes e bello, sicuro è meglio!
Kubernetes e bello, sicuro è meglio!Kubernetes e bello, sicuro è meglio!
Kubernetes e bello, sicuro è meglio!Giuliano Latini
 
DevOpsHerous 2016 - 29/10/2016
DevOpsHerous 2016 - 29/10/2016DevOpsHerous 2016 - 29/10/2016
DevOpsHerous 2016 - 29/10/2016Gaetano Paternò
 
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
 
Exploring VS Code
Exploring VS CodeExploring VS Code
Exploring VS Codedotnetcode
 
Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer S.r.l.
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Andrea Carratta
 
GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016Gaetano Paternò
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...DotNetCampus
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 

Similar to Meetup Azure DevOps (20)

CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto reale
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functions
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
Cert02 70-410
Cert02   70-410Cert02   70-410
Cert02 70-410
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
 
Kubernetes e bello, sicuro è meglio!
Kubernetes e bello, sicuro è meglio!Kubernetes e bello, sicuro è meglio!
Kubernetes e bello, sicuro è meglio!
 
VS Package @ CD2008
VS Package @ CD2008VS Package @ CD2008
VS Package @ CD2008
 
DevOpsHerous 2016 - 29/10/2016
DevOpsHerous 2016 - 29/10/2016DevOpsHerous 2016 - 29/10/2016
DevOpsHerous 2016 - 29/10/2016
 
Swagger per tutti
Swagger per tuttiSwagger per tutti
Swagger per tutti
 
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 
Exploring VS Code
Exploring VS CodeExploring VS Code
Exploring VS Code
 
Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione Develer - Qt Embedded - Introduzione
Develer - Qt Embedded - Introduzione
 
Develer - Qt Embedded - Intro
Develer - Qt Embedded - IntroDeveler - Qt Embedded - Intro
Develer - Qt Embedded - Intro
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?
 
GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016GdG DevFestMed 2016 - 06/11/2016
GdG DevFestMed 2016 - 06/11/2016
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 

More from dotnetcode

Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive Services
Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive ServicesAzure Meetup: Novità CosmosDB modalità Serverless e Cognitive Services
Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive Servicesdotnetcode
 
Azure Meetup: Understanding Azure App Service Plan
Azure Meetup: Understanding Azure App Service PlanAzure Meetup: Understanding Azure App Service Plan
Azure Meetup: Understanding Azure App Service Plandotnetcode
 
Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!dotnetcode
 
Azure Meetup: Azure Storage/Datalake Deep Dive
Azure Meetup: Azure Storage/Datalake Deep DiveAzure Meetup: Azure Storage/Datalake Deep Dive
Azure Meetup: Azure Storage/Datalake Deep Divedotnetcode
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetesdotnetcode
 
How to create custom modules for Visual Studio
How to create custom modules for Visual StudioHow to create custom modules for Visual Studio
How to create custom modules for Visual Studiodotnetcode
 
Meetup DotNetCode Owasp
Meetup DotNetCode Owasp Meetup DotNetCode Owasp
Meetup DotNetCode Owasp dotnetcode
 
Meetup .NET & Micro ORM
Meetup .NET & Micro ORMMeetup .NET & Micro ORM
Meetup .NET & Micro ORMdotnetcode
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angulardotnetcode
 
Webhooks Meetup
Webhooks MeetupWebhooks Meetup
Webhooks Meetupdotnetcode
 
Meetup DotNetCode Dependency Injection
Meetup DotNetCode Dependency InjectionMeetup DotNetCode Dependency Injection
Meetup DotNetCode Dependency Injectiondotnetcode
 
Presentazione DotNetSchool
Presentazione DotNetSchoolPresentazione DotNetSchool
Presentazione DotNetSchooldotnetcode
 

More from dotnetcode (14)

Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive Services
Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive ServicesAzure Meetup: Novità CosmosDB modalità Serverless e Cognitive Services
Azure Meetup: Novità CosmosDB modalità Serverless e Cognitive Services
 
Azure Meetup: Understanding Azure App Service Plan
Azure Meetup: Understanding Azure App Service PlanAzure Meetup: Understanding Azure App Service Plan
Azure Meetup: Understanding Azure App Service Plan
 
Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!Azure Meetup: Keep your secrets and configurations safe in azure!
Azure Meetup: Keep your secrets and configurations safe in azure!
 
Azure Meetup: Azure Storage/Datalake Deep Dive
Azure Meetup: Azure Storage/Datalake Deep DiveAzure Meetup: Azure Storage/Datalake Deep Dive
Azure Meetup: Azure Storage/Datalake Deep Dive
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetes
 
How to create custom modules for Visual Studio
How to create custom modules for Visual StudioHow to create custom modules for Visual Studio
How to create custom modules for Visual Studio
 
Meetup DotNetCode Owasp
Meetup DotNetCode Owasp Meetup DotNetCode Owasp
Meetup DotNetCode Owasp
 
Meetup .NET & Micro ORM
Meetup .NET & Micro ORMMeetup .NET & Micro ORM
Meetup .NET & Micro ORM
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angular
 
Webhooks Meetup
Webhooks MeetupWebhooks Meetup
Webhooks Meetup
 
Meetup DotNetCode Dependency Injection
Meetup DotNetCode Dependency InjectionMeetup DotNetCode Dependency Injection
Meetup DotNetCode Dependency Injection
 
Presentazione DotNetSchool
Presentazione DotNetSchoolPresentazione DotNetSchool
Presentazione DotNetSchool
 

Meetup Azure DevOps

  • 1. DotNetCode.IT Microsoft .Net Coding Community www.dotnetcode.it
  • 2. DotNetCode.IT Microsoft .Net Coding Community Azure DevOps CI/CD Benvenuti DotNetCode.IT Microsoft .Net Coding Community
  • 4.
  • 5. DotNetCode.IT Microsoft .Net Coding Community {'Speaker'} {‘Simone’:’Natalini'} { 'Cloud Solutions Specialist':'AlmavivA' }
  • 6. DotNetCode.IT Microsoft .Net Coding Community AGENDA • Definizione di CI /CD • Introduzione a Azure DevOps. • Strumenti di Azure DevOps a supporto • Creazione di una pipeline di build • Attivare una build in modalità continua • Rilascio di una build in ambienti di Produzione • Continuous Deployments Multi Stage • Q&A
  • 7. DotNetCode.IT Microsoft .Net Coding Community Definizione di CI /CD
  • 8. DotNetCode.IT Microsoft .Net Coding Community Definizione di CI Continuous Integration sono delle pratiche che favoriscono l’integrazione del codice sorgente, anche più volte al giorno, sviluppato dai team, minimizzando possibili errori di compilazioni dovuti alla merge del codice. Permette di rilevare bug e segnalarli in automatico al team di sviluppo responsabile di quella porzione di codice. E’ MOLTO importante correlare il codice di test di integrazione e di unit test
  • 9. DotNetCode.IT Microsoft .Net Coding Community Definizione di CD Continuous Deployment sono delle pratiche che favoriscono il processo di messa in produzione del codice validato, anche più volte al giorno. Automatizza il ciclo di rilascio per renderlo il più possibile immediato Permette una gestione della configurazione centralizzata
  • 10. DotNetCode.IT Microsoft .Net Coding Community ? 2) • Gestione di un solo repository del codice • Escuzione di test automatici nella build stessa • Commit consistenti e frequenti • Piccole funzionalità implementate in modo incrementale 1) • Maggiore controllo sul vostro codice • Maggiore qualità del codice rilasciato • Facile risposta ai cambiamenti tecnologici • Facile risposta ai cambiamenti di business • Facile risposta ai cambiamenti di design • Build automatizzata • Replicabile su ambienti diversi 3) • Manifesto agile • https://agilemanifesto.org/iso/it/manifesto.html • https://agilemanifesto.org/iso/it/principles.html • «La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua»
  • 11. DotNetCode.IT Microsoft .Net Coding Community What is DevOps? Build & Test Continuous Delivery Deploy Operate Monitor & Learn Plan & Track Develop DevOps is the union of people, process, and products to enable continuous delivery of value to your end users.
  • 12. DotNetCode.IT Microsoft .Net Coding Community Introduzione a Azure DevOps
  • 13. DotNetCode.IT Microsoft .Net Coding Community Introducing Azure DevOps Deliver value to your users faster using proven agile tools to plan, track, and discuss work across your teams. Build, test, and deploy with CI/CD that works with any language, platform, and cloud. Connect to GitHub or any other Git provider and deploy continuously. Get unlimited, cloud-hosted private Git repos and collaborate to build better code with pull requests and advanced file management. Test and ship with confidence using manual and exploratory testing tools. Create, host, and share packages with your team, and add artifacts to your CI/CD pipelines with a single click. Azure Boards Azure ReposAzure Pipelines Azure Test Plans Azure Artifacts https://azure.com/devops ➔
  • 15. DotNetCode.IT Microsoft .Net Coding Community Azure DevOps Services Pricing Free Unlimited users and build time • Azure Pipelines: 10 parallel jobs with unlimited minutes for CI/CD • Azure Boards: Work item tracking and Kanban boards • Azure Repos: Unlimited public Git repos Free Start free with up to 5 users • Azure Pipelines: Run 1 Microsoft-hosted job for 1,800 minutes per month and 1 self-hosted job for any amount of time • Azure Boards: Work item tracking and Kanban boards • Azure Repos: Unlimited private Git repos • Azure Artifacts: package management • Load testing (20,000 VUMs/month) • Unlimited stakeholders Starts at $6 per user, per month for Boards & Repos* Easy pricing that grows with your team • Azure Pipelines: Run 1 Microsoft-hosted job for 1,800 minutes per month and 1 self-hosted job for any amount of time • Azure Boards: Work item tracking and Kanban boards • Azure Repos: Unlimited private Git repos • Azure Artifacts: package management • Load testing (20,000 VUMs/month) • Unlimited stakeholders • Visual Studio subscribers included free https://azure.com/pricing/details/devops/➔ 5 Boards & Repos users and 5 Artifacts users free. Pipelines with unlimited minutes, Test Plans users and additional Artifacts users also available. Please see the Azure pricing calculator for details. *
  • 16. DotNetCode.IT Microsoft .Net Coding Community Definizione di una build
  • 17. DotNetCode.IT Microsoft .Net Coding Community Build pipeline Una build è definita da task. Un task ha diverse versioni Utilizza un agent o un set di agent (agentpool) per eseguire i comandi dei task Utilizza token e variabili per identificare una build in maniera univoca Una build può essere startata anche da eventi (CI)
  • 18. DotNetCode.IT Microsoft .Net Coding Community Build pipeline L’ agent può essere di tipo Microsoft hosted o custom Le varibili possono essere utilizzate per I task condizionali • Build.ArtifactStagingDirectory è il path dove l’agent crea gli artefatti prima di essere copiati sulla destinazione indicate dal task (c:agent_work1a ) • Build.BinariesDirectory è il path dove l’agent ha copiato le vostre dll prima di essere pubblicate sulla destinazione (c:agent_work1b) • Build.Repository.LocalPath è il path dove l’agent deposita il codice sorgente (c:agent_work1s) • Build.StagingDirectory ha la stessa funzione di Artifact ma viene ripulita ad ogni build Eventi basati su Path filters
  • 19. DotNetCode.IT Microsoft .Net Coding Community DEMO Build pipeline
  • 20. DotNetCode.IT Microsoft .Net Coding Community Definizione di una release
  • 21. DotNetCode.IT Microsoft .Net Coding Community Release pipeline Una release è definita da task. Un task ha diverse versioni Utilizza un agent o un set di agent (agentpool) per eseguire i comandi dei task Utilizza token e variabili per identificare una build in maniera univoca Una release può essere startata anche da eventi (CD) E’ composta da uno o più environment
  • 22. DotNetCode.IT Microsoft .Net Coding Community DEMO Release pipeline
  • 23. DotNetCode.IT Microsoft .Net Coding Community Microsoft .Net Coding Community
  • 24. DotNetCode.IT Microsoft .Net Coding Community Prossimo Meetup 20/02/2020 20/02/2018 Kubernetes & Rancher
  • 27. DotNetCode.IT Microsoft .Net Coding Community Selfie Lottery www.dotnetcode.it http://bit.ly/sldnc20200130
  • 28. DotNetCode.IT Microsoft .Net Coding Community Grazie a Tutti! DotNetCode.IT Microsoft .Net Coding Community
  • 29. DotNetCode.IT Microsoft .Net Coding Community Follow US! www.dotnetcode.it https://www.facebook.com/DotNetCode.IT https://twitter.com/DotNetCodeIT https://plus.google.com/+DotnetcodeIt