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
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Sfruttare al massimo i topic space di Event Grid MQTT
Sostituire la GitHub Action di login su private registry
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Applicare un filtro per recuperare alcune issue di GitHub
Utilizzare Azure AI Studio per testare i modelli AI
Escludere alcuni file da GitHub Secret Scanning
Eseguire i worklow di GitHub su runner potenziati
Migrare una service connection a workload identity federation in Azure DevOps
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core