Supporto migliorato agli statement condizionali nelle pipeline di Azure DevOps

di Matteo Tumiati, in DevOps,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi