Iniciar um pipeline de acordo com uma programação - 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á.

Iniciar um pipeline de acordo com uma programação

Você pode configurar uma regra EventBridge para iniciar um funil de acordo com um cronograma.

Crie uma EventBridge regra que programe o início do seu pipeline (console)

Para criar uma EventBridge regra com uma agenda como fonte do evento
  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Regras.

  3. Escolha Criar regra e, em Detalhes da regra, escolha Programação.

  4. Configure a programação usando uma taxa fixa ou expressão. Para obter mais informações, consulte Schedule Expression for Rules.

  5. Em Alvos, escolha CodePipeline.

  6. Insira o ARN do pipeline para a execução do pipeline de acordo com essa programação.

    nota

    Você pode encontrar o ARN do pipeline em Configurações no console. Consulte Visualizar o ARN do pipeline e o ARN do perfil de serviço (console).

  7. Escolha uma das opções a seguir para criar ou especificar uma função de serviço do IAM que conceda EventBridge permissões para invocar o destino associado à sua EventBridge regra (nesse caso, o destino é CodePipeline).

    • Escolha Criar uma nova função para esse recurso específico para criar uma função de serviço que conceda EventBridge permissões para iniciar suas execuções de pipeline.

    • Escolha Usar função existente para inserir uma função de serviço que conceda EventBridge permissões para iniciar suas execuções de funil.

  8. Escolha Configure details (Configurar detalhes).

  9. Na página Configure rule details (Configurar detalhes da regra), informe um nome e uma descrição para a regra e selecione State (Estado) para habilitá-la.

  10. Se você estiver satisfeito com a regra, escolha Create rule.

Crie uma EventBridge regra que programe o início do seu pipeline (CLI)

Para usar o AWS CLI para criar uma regra, chame o put-rule comando, especificando:

  • Um nome que identifique de forma exclusiva a regra que você está criando. Esse nome deve ser exclusivo em todos os pipelines que você cria CodePipeline associados à sua AWS conta.

  • A expressão de programação para a regra.

Para criar uma EventBridge regra com uma agenda como fonte do evento
  1. Use o comando put-rule e inclua os parâmetros --name e --schedule-expression.

    Exemplos:

    O exemplo de comando a seguir é usado --schedule-expression para criar uma regra chamada MyRule2 que filtra EventBridge em uma agenda.

    aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
  2. Conceda permissões EventBridge para usar CodePipeline para invocar a regra. Para obter mais informações, consulte Uso de políticas baseadas em recursos para a Amazon. EventBridge

    1. Use o exemplo a seguir para criar a política de confiança que permita assumir EventBridge a função de serviço. Chame-o de trustpolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Use o comando a seguir para criar a função Role-for-MyRule e anexar a política de confiança.

      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
    3. Crie o JSON de política de permissões, conforme mostrado neste exemplo, para o pipeline denominado MyFirstPipeline. Nomeie a politica de permissões permissionspolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
    4. Use o comando a seguir para anexar a nova política de permissões CodePipeline-Permissions-Policy-for-EB à função Role-for-MyRule criada.

      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json