Contenu connexe
Similaire à MattiaBeltrano_azurePipelines.pptx (20)
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
- 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
- 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>