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 ReleaseIl 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
Eseguire script pre e post esecuzione di un workflow di GitHub
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Combinare Container Queries e Media Queries
Migliorare l'organizzazione delle risorse con Azure Policy
Supportare la crittografia di ASP.NET Core con Azure Container App
Gestire codice JavaScript con code splitting e lazy loading
Introduzione alle Container Queries
Ridimensionamento automatico input tramite CSS
Interagire con Azure DevOps tramite MCP Server
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Configurare automaticamente un webhook in Azure DevOps


