Ci sono diversi modi per far partire un workflow di deployment. Sicuramente la strada giusta sarebbe quella di avere una pipeline di continuous deployment configurata, certo, ma non sempre è realizzabile, specie quando abbiamo più ambienti sulla quale dover fare test. Supponiamo di avere un flow di sviluppo basato su ChatOps, in cui la comunicazione avviene tramite commenti su issue e/o label: potremmo voler usare determinate label come 'dev', 'staging', 'prod' per far partire il deployment sugli ambienti corrispondenti.
Il workflow, dovrà prima di tutto essere configurato con gli eventi corretti. Poichè stiamo parlando di issue e label, probabilmente siamo nel contesto di una pull request:
on:
pull_request:
types: [labeled]Il workflow verrà quindi eseguito all'aggiunta di una label sulla PR. Possiamo quindi eseguire un workflow unico, con step di deployment differenziati in base alla label:
steps: - name: Deploy (DEV) if: contains(github.event.pull_request.labels.*.name, 'stage') run: echo 'Deploying in development environment...' - name: Deploy (STAGING) if: contains(github.event.pull_request.labels.*.name, 'staging') run: echo 'Deploying in staging environment...' - name: Deploy (PROD) if: contains(github.event.pull_request.labels.*.name, 'prod') run: echo 'Deploying in production environment...'
Possiamo usare il costrutto '*' per recuperare, con uno statement di if in linea, tutte le label associate alla pull request che ha invocato il workflow. Tramite la keyword contains, andiamo poi a verificare che la nostra chiave sia contenuta all'interno della lista. Lo step che ha la corrispondenza con la label verrà quindi eseguito e il deploy completato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Enterprise Live Migrations - Migrare da Azure DevOps a GitHub
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Ricerca delle GitHub issue tramite operatori logici
Usare Microsoft-Decision-1 di AI Foundry per ottenere risposte decisionali strutturate
Cache temporanea in Javascript con oggetti
Integrare un LLM in ASP.NET Core con Microsoft.Extensions.AI
Migliorare accessibilità e interazioni nelle pagine HTML con gli attributi inert e autofocus
Realizzare un accordion con gli elementi HTML details e summary
Creare una UI per i tool MCP con resource e Azure Functions
Creare un indice su una colonna JSON in SQL Server
Disponibile .NET 11 RC1 con aggiornamenti per runtime, SDK, MSBuild, NuGet e i principali framework della piattaforma. Un rilascio interessante per chi lavora su applicazioni cloud, web e desktop con stack Microsoft. #dotnet #csharp #aspnetcore #devops https://aspit.co/cjz
Welcome to Future Dev Day 2026
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Caricamenti veloci da CDN e fallback locale con ASP.NET Core
- Utilizzare dati in formato XML in XAML
- Accedere a dati esposti con WebService con Silverlight 1.0


