Tenho dúvidas com a condição do estágio. Usando o post https://stackoverflow.com/a/78262966/28447778 como referência, quero atingir esse cenário, quando alguém marca "Executar no modo de produção" na execução do pipeline, ele deve ser executado do estágio "Build" para o estágio "PRD" diretamente, caso contrário, quando alguém não marca "Executar no modo de produção", ele deve passar por todos os estágios.
No meu código atual, o comportamento é que quando eu marco "Executar no modo de produção" ele funciona corretamente:
Mas quando deixo essa opção desmarcada, ele roda diretamente no DEV, mas deveria rodar em Build -> DEV -> PRD.
Onde está meu erro?
parameters:
- name: runOnProductionMode
displayName: 'Run on production mode'
type: boolean
default: false
stages:
- stage: Build
displayName: 'Build'
jobs:
- template: templates/manual.yml@Pipelines
- ${{ if not(parameters.runOnProductionMode) }}:
- stage: DEV
dependsOn: GateApproval
condition: succeeded()
displayName: 'DEV'
pool:
name: ${{ variables.dev }}
jobs:
- deployment: DEV
# Rest of the code
- ${{ if parameters.runOnProductionMode }}:
- stage: PRD
displayName: 'PRD'
pool:
name: ${{ variables.prd }}
jobs:
- deployment: PRD
# Rest of the code
Se
PROD
o estágio deve ser sempre executado, você deve remover a${{ if ... }}
condição desse estágio.Em vez de:
Fazer: