Distribuire modelli di Azure Resource Manager come parte delle attività CI/CD con GitHub Actions

Completato

GitHub Actions aiuta il team a essere agile e competitivo nel marketplace di oggi. Consentono di automatizzare le attività per il ciclo di vita dello sviluppo del sistema o della soluzione.

Si supponga che l'utente e il team sviluppino una soluzione che richiede un numero significativo di risorse in un ambiente Azure. È necessario assicurarsi che la soluzione possa essere distribuita rapidamente e automaticamente come parte di una pipeline di integrazione continua e recapito continuo (CI/CD). In questo modo, è possibile automatizzare la creazione e l'disinstallazione dell'infrastruttura del progetto. Includendo la gestione delle risorse nella pipeline CI/CD, si adotta l'infrastruttura come codice (IaC) per automatizzare le attività IT.

Le pipeline CI/CD appropriate consentono anche di includere un passaggio di test nelle attività di distribuzione, usando strumenti come azure Resource Manager (ARM) template test toolkit (arm-ttk ). Per ulteriori informazioni su questo toolkit, consultare Convalidare le distribuzioni utilizzando what-if e il toolkit di test.

È consigliabile includere i test nella pipeline in modo da potersi concentrare sulla creazione. Il toolkit arm-ttk esegue una serie di test per convalidare il modello durante la distribuzione per evitare problemi.

Sono disponibili diversi strumenti per raggiungere questi obiettivi. Poiché si usa già GitHub per il repository di codice, si decide di esaminare GitHub Actions per verificare se forniscono l'automazione necessaria.

Questo modulo ti introduce a GitHub Actions come uno strumento per distribuire i tuoi modelli ARM.

Che cosa sono GitHub Actions?

GitHub Actions sono script in pacchetto per automatizzare le attività in un flusso di lavoro di sviluppo in GitHub.

GitHub Actions consente di creare flussi di lavoro personalizzati per il ciclo di vita dello sviluppo software direttamente nel repository GitHub in cui sono archiviati i modelli ARM. Un file YAML definisce un flusso di lavoro.

I flussi di lavoro hanno uno o più compiti. Ogni processo contiene un set di passaggi che eseguono singole attività. I passaggi possono eseguire comandi o usare un'azione. È possibile creare azioni personalizzate o usare azioni condivise dalla community di GitHub e personalizzarle in base alle esigenze.

Un flusso di lavoro di base per la distribuzione di un modello ARM può avere almeno tre passaggi:

  1. Vedere un file modello.
  2. Accedere ad Azure.
  3. Distribuire il modello.

L'azione di accesso di Azure utilizza un service principal per autenticarsi su Azure. Per consentire all'entità di sicurezza di un flusso di lavoro CI/CD di distribuire le risorse di Azure, sono necessari i diritti di collaboratore predefiniti corretti.