Como funcionam as condições do estágio? - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como funcionam as condições do estágio?

Para cada condição que especifica uma regra, a regra é executada. Se a condição falhar, o resultado será comprometido. O estágio executa o resultado especificado somente quando a condição falha. Opcionalmente, como parte da regra, você também especifica quais recursos CodePipeline devem ser usados para determinados casos. Por exemplo, a CloudWatchAlarm regra usará um recurso de CloudWatch alarme para executar verificações da condição.

Uma condição pode corresponder a várias regras, e cada regra pode especificar um dos três provedores.

O fluxo de alto nível para criar condições é o seguinte.

  1. Escolha o tipo de condição entre os tipos de condição disponíveis em CodePipeline. Por exemplo, use um tipo de condição “em caso de sucesso” para configurar um estágio para que, após o sucesso do estágio, um conjunto de regras possa ser usado para executar verificações antes de prosseguir.

  2. Escolha a regra . Por exemplo, a regra CloudWatchAlarm verificará os alarmes e usará o EB para verificar um limite de alarme pré-configurado. Se a verificação for bem-sucedida e o alarme estiver abaixo do limite, o estágio poderá prosseguir.

  3. Configure o resultado, como uma reversão que seria usada se a regra falhasse.

As condições são usadas para tipos específicos de expressões e cada uma tem opções específicas para resultados disponíveis da seguinte forma:

  • Entrada: as condições para fazer verificações que, se atendidas, permitem a entrada em um estágio. As regras são usadas com as seguintes opções de resultado: Falhar ou Ignorar

  • Em caso de falha: as condições para fazer verificações para o estágio em que ela falha. As regras estão envolvidas com a seguinte opção de resultado: Reversão

  • Bem-sucedido: as condições para fazer verificações para o estágio em que for bem-sucedida. As regras são envolvidas com as seguintes opções de resultado: Reversão ou Falha

O diagrama a seguir mostra um exemplo de fluxo para o tipo de condição de entrada em CodePipeline. As condições respondem à pergunta: O que deverá acontecer se a condição não for atendida, ou seja, se alguma regra falhar? No fluxo a seguir, uma condição de entrada é configurada com uma LambdaInvoke regra e uma CloudWatchAlarm regra. Se a regra falhar, o resultado configurado como Falha será acionado.

Um exemplo do tipo de condição de entrada com duas regras configuradas, uma LambdaInvoke regra e uma CloudWatchAlarm regra.

O diagrama a seguir mostra um exemplo de fluxo para o tipo de condição On Failure in CodePipeline. As condições respondem à pergunta: O que deverá acontecer se a condição for atendida, ou seja, se todas as regras forem bem-sucedidas nas verificações? No fluxo a seguir, uma condição On Failure é configurada com uma LambdaInvoke regra e uma CloudWatchAlarm regra. Se a regra falhar, o resultado configurado como Falha será acionado.

Um exemplo do tipo de condição “em caso de falha” com duas regras configuradas, uma regra do Lambda e uma regra CloudWatchAlarm.

O diagrama a seguir mostra um exemplo de fluxo para o tipo de condição On Success in CodePipeline. As condições respondem à pergunta: O que deverá acontecer se a condição for atendida, ou seja, se todas as regras forem bem-sucedidas nas verificações? No fluxo a seguir, uma condição “em caso de sucesso” é configurada com uma regra LambdaInvoke e uma regra CloudWatchAlarm. Se a regra falhar, o resultado configurado como Falha será acionado.

Um exemplo do tipo de condição “em caso de sucesso” com duas regras configuradas, uma regra do Lambda e uma regra CloudWatchAlarm.

Regras para condições de estágio

Ao configurar as condições do estágio, você seleciona entre as regras predefinidas e especifica os resultados da regra. Um estado de condição será Falha se alguma das regras da condição falhar, e Bem-sucedido se todas as regras forem bem-sucedidas. A forma como os critérios são atendidos para as condições Em caso de falha e Bem-sucedido depende do tipo de regra.

A seguir estão algumas regras gerenciadas que você pode adicionar às condições do estágio.

  • As condições podem usar a regra Comandos para especificar comandos que atendam aos critérios da regra para condições. Para ter mais informações sobre essa regra, consulte Comandos.

  • As condições podem usar a AWS DeploymentWindowregra para especificar horários de implantação aprovados para permitir uma implantação. Os critérios da regra serão medidos com uma expressão cron fornecida para uma janela de implantação. A regra é bem-sucedida quando a data e a hora na janela de implantação atendem aos critérios na expressão cron da regra. Para ter mais informações sobre essa regra, consulte DeploymentWindow.

  • As condições podem usar a regra AWS Lambda para verificar os estados de erro gerados de funções do Lambda configuradas. A regra é atendida quando a verificação recebe o resultado da função do Lambda. Um erro da função do Lambda atende aos critérios das condições “em caso de falha”. Para ter mais informações sobre essa regra, consulte LambdaInvoke.

  • As condições podem usar a AWS CloudWatchAlarmregra para verificar se há alarmes configurados a partir de CloudWatch eventos. A regra é atendida quando a verificação gera um estado de alarme OK, ALARM ou INSUFF_DATA. Para condições “em caso de sucesso”, OK e INSUFFICIENT_DATA atendem aos critérios. ALARM atende aos critérios das condições “em caso de falha”. Para ter mais informações sobre essa regra, consulte CloudWatchAlarm.

  • As condições podem usar a VariableCheckregra para criar uma condição em que a variável de saída é verificada em relação a uma expressão fornecida. A regra passa na verificação quando o valor da variável atende aos critérios da regra, como o valor ser igual ou maior que uma variável de saída especificada. Para ter mais informações sobre essa regra, consulte VariableCheck.