SlideShare a Scribd company logo
All contents © MuleSoft, LLC
Deploy Mule Apps with Azure pipelines
Mattia Beltrano, Integration Engineer, Cap4 Lab
Feb 27, 2022
All contents © MuleSoft, LLC
Who am I?
2
● Mulesoft certified integration architect (MCIA)
● Mulesoft certified platform architect (MCPA)
● Mulesoft certified develop (MCD)
● Laurea magistrale in Ingegneria meccanica
con indirizzo robotica e meccatronica
Integration Engineer
/linkedin
2
All contents © MuleSoft, LLC
CI/CD
CI/CD è un approccio per lo sviluppo di software, focalizzato sull'automazione delle
procedure che portano il codice dallo sviluppo all'integrazione, dal test alla distribuzione e
deployment finale. Infatti CI fa riferimento alla metodologia di Integrazione Continua,
mentre CD a quella di Distribuzione Continua e/o Deployment Continuo.
3
All contents © MuleSoft, LLC
Cos’è un Container?
I container sono pacchetti di software che contengono tutti gli elementi necessari per
l'esecuzione in qualsiasi ambiente. In questo modo, i container virtualizzano il sistema
operativo e sono eseguibili ovunque, da un data center privato al cloud pubblico o anche
sul laptop di uno sviluppatore.
Un modo per comprendere meglio un container è capire in che cosa si differenzia da una
tradizionale virtual machine (VM). Nella virtualizzazione tradizionale, sia locale che nel
cloud, per virtualizzare l'hardware fisico viene utilizzato un hypervisor. Ogni VM contiene
quindi un sistema operativo guest, una copia virtuale dell'hardware, un'applicazione e le
relative librerie e dipendenze associate.
Invece di virtualizzare l'hardware sottostante, i container virtualizzano il sistema operativo
(di norma Linux), in modo che ogni singolo container includa solo l'applicazione e le relative
librerie e dipendenze. L'assenza del sistema operativo guest è il motivo per cui i container
sono così leggeri e, quindi, veloci e portatili.
4
All contents © MuleSoft, LLC
Self-hosted Ubuntu agent Azure
1) Creazione del dockerfile e dello script start.sh
2) docker build -t dockeragent:latest .
3) Creazione PAT Azure spuntando «Agent Pools (Read, Manage)»
4) docker run -e AZP_URL=<URL-AZURE> -e AZP_TOKEN=<PAT-AZURE> -e
AZP_AGENT_NAME=dockerAgent dockeragent:latest
5
All contents © MuleSoft, LLC
Connected Apps
Le Connected Apps permettono ad un’applicazione esterna di integrarsi con Anypoint
Platform tramite APIs con Oauth 2.0 e OpenID connect.
É possible dare accesso ad utenti o app di terze parti senza condividere credenziali
sensibili o dare il controllo completo. Inoltre, è possible revocarle in qualsiasi momento.
6
All contents © MuleSoft, LLC
7
Come distribuire un’applicazione su
Clouhub
Esistono differenti modi per distribuire un’applicazione su
Cloudhub:
- Metodo manuale
- Mule Maven plugin
- Anypoint CLI
- Rest API
All contents © MuleSoft, LLC
8
Mule Maven plugin
1. Inserire il Mule Maven Plugin al POM.xml
2. Settare la configurazione per il corretto deploy su Cloudhub
3. Aggiungere il repository
All contents © MuleSoft, LLC
9
Mule Maven plugin
All contents © MuleSoft, LLC
10
Mule Maven plugin
<pluginRepositories>
<pluginRepository>
<id>mule-public</id>
<url>https://repository.mulesoft.org/nexus/content/repositories/releases</url>
</pluginRepository>
</pluginRepositories>
All contents © MuleSoft, LLC
11
Creazione Pipeline su Azure
Per quanto riguarda la pipeline «release» setteremo
anche la creazione del tag dopo il corretto build dell’API
All contents © MuleSoft, LLC
12
Creazione Variable Group
All contents © MuleSoft, LLC
13
Creazione Artifact feed
All contents © MuleSoft, LLC
14
Creazione del PAT feed
Successivamente dovrà essere inserita la repository nel
POM.xml sia nella sezione <repositories> che in
quella <distributionManagement>
All contents © MuleSoft, LLC
15
Creazione Release su Azure
All contents © MuleSoft, LLC
Thank you
Domande?

More Related Content

Similar to MattiaBeltrano_azurePipelines.pptx

Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
Antonio Di Motta
 
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
Con Aruba, a lezione di cloud  #lezione 31: 'API e Cloud Computing, personali...Con Aruba, a lezione di cloud  #lezione 31: 'API e Cloud Computing, personali...
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
Aruba S.p.A.
 
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
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Mattia Milleri
 
.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
Luca Congiu
 
Total Testing in DevOps
Total Testing in DevOpsTotal Testing in DevOps
Total Testing in DevOps
Gianni Bombelli
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdf
Florence Consulting
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
Giovanni Buffa
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
Ugo Landini
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
Herzum Italia
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservices
Daniele Mondello
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
Romualdo Gobbo
 
IBM Bluemix @Codemotion
IBM Bluemix @CodemotionIBM Bluemix @Codemotion
IBM Bluemix @Codemotion
Roberto Pozzi
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
Antonio Musarra
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Mattia De Bernardi
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
Francesco Sciuti
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Mattia Milleri
 
Movicon (TM) 11 Scada/HMI - Product catalogue - Italiano
Movicon (TM) 11 Scada/HMI - Product catalogue - ItalianoMovicon (TM) 11 Scada/HMI - Product catalogue - Italiano
Movicon (TM) 11 Scada/HMI - Product catalogue - Italiano
PROGEA s.r.l.
 
Creare PWA con Angular
Creare PWA con AngularCreare PWA con Angular
Creare PWA con Angular
Francesco Sciuti
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
dotnetcode
 

Similar to MattiaBeltrano_azurePipelines.pptx (20)

Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
Con Aruba, a lezione di cloud  #lezione 31: 'API e Cloud Computing, personali...Con Aruba, a lezione di cloud  #lezione 31: 'API e Cloud Computing, personali...
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
 
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...
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
 
Total Testing in DevOps
Total Testing in DevOpsTotal Testing in DevOps
Total Testing in DevOps
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdf
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservices
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
IBM Bluemix @Codemotion
IBM Bluemix @CodemotionIBM Bluemix @Codemotion
IBM Bluemix @Codemotion
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
Movicon (TM) 11 Scada/HMI - Product catalogue - Italiano
Movicon (TM) 11 Scada/HMI - Product catalogue - ItalianoMovicon (TM) 11 Scada/HMI - Product catalogue - Italiano
Movicon (TM) 11 Scada/HMI - Product catalogue - Italiano
 
Creare PWA con Angular
Creare PWA con AngularCreare PWA con Angular
Creare PWA con Angular
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 

MattiaBeltrano_azurePipelines.pptx

  • 1. All contents © MuleSoft, LLC Deploy Mule Apps with Azure pipelines Mattia Beltrano, Integration Engineer, Cap4 Lab Feb 27, 2022
  • 2. All contents © MuleSoft, LLC Who am I? 2 ● Mulesoft certified integration architect (MCIA) ● Mulesoft certified platform architect (MCPA) ● Mulesoft certified develop (MCD) ● Laurea magistrale in Ingegneria meccanica con indirizzo robotica e meccatronica Integration Engineer /linkedin 2
  • 3. All contents © MuleSoft, LLC CI/CD CI/CD è un approccio per lo sviluppo di software, focalizzato sull'automazione delle procedure che portano il codice dallo sviluppo all'integrazione, dal test alla distribuzione e deployment finale. Infatti CI fa riferimento alla metodologia di Integrazione Continua, mentre CD a quella di Distribuzione Continua e/o Deployment Continuo. 3
  • 4. All contents © MuleSoft, LLC Cos’è un Container? I container sono pacchetti di software che contengono tutti gli elementi necessari per l'esecuzione in qualsiasi ambiente. In questo modo, i container virtualizzano il sistema operativo e sono eseguibili ovunque, da un data center privato al cloud pubblico o anche sul laptop di uno sviluppatore. Un modo per comprendere meglio un container è capire in che cosa si differenzia da una tradizionale virtual machine (VM). Nella virtualizzazione tradizionale, sia locale che nel cloud, per virtualizzare l'hardware fisico viene utilizzato un hypervisor. Ogni VM contiene quindi un sistema operativo guest, una copia virtuale dell'hardware, un'applicazione e le relative librerie e dipendenze associate. Invece di virtualizzare l'hardware sottostante, i container virtualizzano il sistema operativo (di norma Linux), in modo che ogni singolo container includa solo l'applicazione e le relative librerie e dipendenze. L'assenza del sistema operativo guest è il motivo per cui i container sono così leggeri e, quindi, veloci e portatili. 4
  • 5. All contents © MuleSoft, LLC Self-hosted Ubuntu agent Azure 1) Creazione del dockerfile e dello script start.sh 2) docker build -t dockeragent:latest . 3) Creazione PAT Azure spuntando «Agent Pools (Read, Manage)» 4) docker run -e AZP_URL=<URL-AZURE> -e AZP_TOKEN=<PAT-AZURE> -e AZP_AGENT_NAME=dockerAgent dockeragent:latest 5
  • 6. All contents © MuleSoft, LLC Connected Apps Le Connected Apps permettono ad un’applicazione esterna di integrarsi con Anypoint Platform tramite APIs con Oauth 2.0 e OpenID connect. É possible dare accesso ad utenti o app di terze parti senza condividere credenziali sensibili o dare il controllo completo. Inoltre, è possible revocarle in qualsiasi momento. 6
  • 7. All contents © MuleSoft, LLC 7 Come distribuire un’applicazione su Clouhub Esistono differenti modi per distribuire un’applicazione su Cloudhub: - Metodo manuale - Mule Maven plugin - Anypoint CLI - Rest API
  • 8. All contents © MuleSoft, LLC 8 Mule Maven plugin 1. Inserire il Mule Maven Plugin al POM.xml 2. Settare la configurazione per il corretto deploy su Cloudhub 3. Aggiungere il repository
  • 9. All contents © MuleSoft, LLC 9 Mule Maven plugin
  • 10. All contents © MuleSoft, LLC 10 Mule Maven plugin <pluginRepositories> <pluginRepository> <id>mule-public</id> <url>https://repository.mulesoft.org/nexus/content/repositories/releases</url> </pluginRepository> </pluginRepositories>
  • 11. All contents © MuleSoft, LLC 11 Creazione Pipeline su Azure Per quanto riguarda la pipeline «release» setteremo anche la creazione del tag dopo il corretto build dell’API
  • 12. All contents © MuleSoft, LLC 12 Creazione Variable Group
  • 13. All contents © MuleSoft, LLC 13 Creazione Artifact feed
  • 14. All contents © MuleSoft, LLC 14 Creazione del PAT feed Successivamente dovrà essere inserita la repository nel POM.xml sia nella sezione <repositories> che in quella <distributionManagement>
  • 15. All contents © MuleSoft, LLC 15 Creazione Release su Azure
  • 16. All contents © MuleSoft, LLC Thank you Domande?