In uno degli ultimi aggiornamenti (Sprint 192 di Settembre), Microsoft ha rilasciato un update importante per quanto riguarda la sintassi YAML introducendo, finalmente, un supporto migliore agli statement decisionali. Sebbene ad oggi non ci sia anche l'uso di un vero e proprio switch-case, possiamo però dire di avere un if migliorato.
Il codice seguente:
variables: ${{ if eq(parameters.os, 'win') }}: agentName: windows ${{ if eq(parameters.os, 'linux') }}: agentName: linux ${{ if eq(parameters.os, 'mac') }}: agentName: mac
Può ora essere riscritto come segue:
variables: ${{ if eq(parameters.os, 'win') }}: agentName: windows ${{ elseif eq(parameters.os, 'linux') }}: agentName: linux ${{ else }}: agentName: mac
L'introduzione di elseif e else consente effettivamente più flessibilità nel codice poichè, fino a poco tempo fa, siamo stati obbligati ad inserire al posto dell'else la stessa condizione presente nell'if, però negata. Può non sembrare un vantaggio, ma è chiaramente molto utile quando nelle condition devono essere valutate diverse condizioni, tavolta con and/or complessi e che dipendono dall'esecuzione di task/job precedenti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Disabilitare automaticamente un workflow di GitHub (parte 2)
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Usare un KeyedService di default in ASP.NET Core 8
Ottenere un token di accesso per una GitHub App
Creare un webhook in Azure DevOps
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Aggiungere interattività lato server in Blazor 8
Recuperare l'ultima versione di una release di GitHub
Usare lo spread operator con i collection initializer in C#
Miglioramenti agli screen reader e al contrasto in Angular
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON