Criar uma regra do EventBridge para uma origem do Amazon ECR (modelo do CloudFormation)
Para usar o CloudFormation a fim de criar uma regra, use o trecho do modelo mostrado aqui.
Para atualizar o modelo do CloudFormation do pipeline e criar a regra do EventBridge
-
No modelo, em
Resources, use o recursoAWS::IAM::Roledo CloudFormation para configurar a função do IAM que habilita o evento a iniciar seu pipeline. Essa entrada cria uma função que utiliza duas políticas:-
A primeira política permite que a função seja assumida.
-
A segunda política fornece permissões para iniciar o pipeline.
Por que estou fazendo essa alteração? Você deve criar um perfil que possa ser assumido pelo EventBridge para iniciar uma execução em nosso pipeline.
-
-
No modelo, em
Resources, use o recursoAWS::Events::Ruledo CloudFormation para adicionar uma regra do EventBridge para a origem do Amazon ECR. Esse padrão de evento cria um evento que monitora as confirmações no seu repositório. Quando o EventBridge detecta uma alteração no estado do repositório, a regra invocaStartPipelineExecutionno pipeline de destino.Por que estou fazendo essa alteração? Você deve criar um evento com uma regra que especifique como deve ser feito um envio de imagem por push e um destino que nomeie o pipeline a ser iniciado pelo evento.
Esse trecho usa uma imagem chamada
eb-testcom uma tag delatest.nota
Para visualizar o padrão completo de evento compatível com os eventos do Amazon ECR, consulte Eventos do Amazon ECR e EventBridge ou Eventos do Amazon Elastic Container Registry.
-
(Opcional) Para configurar um transformador de entrada com substituições de origem para um ID de imagem específico, use o trecho YAML a seguir. O exemplo a seguir configura uma substituição na qual:
-
O
actionName,Sourceneste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionType,IMAGE_DIGESTneste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionValue, <RevisionValue> neste exemplo, deriva da variável do evento de origem.
--- Rule: my-rule Targets: - Id: MyTargetId Arn: ARN InputTransformer: InputPathsMap: revisionValue: "$.detail.image-digest" InputTemplate: sourceRevisions: actionName:SourcerevisionType:IMAGE_DIGESTrevisionValue: '<revisionValue>' -
-
Salve o modelo atualizado em seu computador local e abra o console do CloudFormation.
-
Selecione sua pilha e clique em Create Change Set for Current Stack (Criar conjunto de alterações para a pilha atual).
-
Carregue o modelo e visualize as alterações listadas no CloudFormation. Essas são as alterações a serem feitas na pilha. Seus novos recursos devem ser exibidos na lista.
-
Clique em Executar.