Iniziamo il nuovo anno e riprendiamo la serie di script e articoli su DevOps concentrando il focus maggiormente su GitHub e tutto quello che lo circonda. Vedremo, in particolare, come possiamo rapportarci se abbiamo già qualcosa di esistente su Azure DevOps o altri sistemi di CI/CD per poter fare dei paragoni e prepararci ad una possibile migrazione delle pipeline e degli automatismi.
Come abbiamo già introdotto in un articolo ad-hoc, la sintassi delle GitHub Actions non è molto differente da quello di Azure DevOps e, il tutto, dovrebbe risultare naturalmente comprensibile. Vediamo ora un esempio di una semplice pipeline che compila una applicazione .NET Core:
name: Build .NET Core app on: push: branches: [ main ] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main - name: dotnet restore run: dotnet restore - name: dotnet build run: dotnet build --configuration Release - name: dotnet publish run: dotnet publish --configuration Release
Il primo step è stato quello di assegnare un nome: al contrario di quanto succede in Azure DevOps, il nome è quello della pipeline stessa, non rappresenta il numero di versione. A questo punto, dobbiamo specificare quando la pipeline verrà invocata, tramite l'uso del tag on. In base a quanto specificato, andremo ad eseguire la GitHub Action corrispondente solo quando ci saranno modifiche sul branch di main.
Nulla cambia invece per i job che, di fatto, hanno lo stesso concetto di utilizzo di quelli di Azure DevOps e rappresentano un contenitore di azioni da eseguire su un runner (o agent) specifico (in questo caso ubuntu). Infine, sono specificati i vari passaggi rappresentati, appunto, dagli step. Sono come i task di Azure DevOps, tuttavia in questo caso siamo andati ad eseguire direttamente del codice come i comandi di dotnet tramite la CLI.
Vedremo con approfondimenti successivi che cosa significa effettivamente eseguire questo codice e che cosa c'è dietro il significato di Action, partendo dal non menzionato checkout.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Proteggere le risorse Azure con private link e private endpoints
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Creare una libreria CSS universale: Clip-path
Utilizzare una qualunque lista per i parametri di tipo params in C#
Utilizzare il trigger SQL con le Azure Function
Applicare un filtro per recuperare alcune issue di GitHub
Il nuovo controllo Range di Blazor 9
Referenziare un @layer più alto in CSS
Introduzione ai web component HTML
Migliorare l'organizzazione delle risorse con Azure Policy
Configurare lo startup di applicazioni server e client con .NET Aspire
Rendere i propri workflow e le GitHub Action utilizzate più sicure