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á.
Para usar AWS CloudFormation para criar uma regra, atualize seu modelo conforme mostrado aqui.
Para atualizar seu AWS CloudFormation modelo de funil e criar uma EventBridge regra
-
No modelo, em
Resources
, use oAWS::IAM::Role
AWS CloudFormation recurso para configurar a função do IAM que permite que seu evento inicie 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? Adicionar o
AWS::IAM::Role
recurso permite AWS CloudFormation criar permissões para EventBridge. Esse recurso é adicionado à sua AWS CloudFormation pilha.EventRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: - events.amazonaws.com Action: sts:AssumeRole Path: / Policies: - PolicyName: eb-pipeline-execution PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: codepipeline:StartPipelineExecution Resource: !Join [ '', [ 'arn:aws:codepipeline:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':', !Ref AppPipeline ] ]
-
-
No modelo, em
Resources
, use oAWS::Events::Rule
AWS CloudFormation recurso para adicionar uma EventBridge regra. Esse padrão de evento cria um evento que monitora as alterações por push no seu repositório. Quando EventBridge detecta uma alteração no estado do repositório, a regra é invocadaStartPipelineExecution
em seu pipeline de destino.Por que estou fazendo essa alteração? Adicionar o
AWS::Events::Rule
recurso permite AWS CloudFormation criar o evento. Esse recurso é adicionado à sua AWS CloudFormation pilha.EventRule: Type: AWS::Events::Rule Properties: EventPattern: source: - aws.codecommit detail-type: - 'CodeCommit Repository State Change' resources: - !Join [ '', [ 'arn:aws:codecommit:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':', !Ref RepositoryName ] ] detail: event: - referenceCreated - referenceUpdated referenceType: - branch referenceName: - main Targets: - Arn: !Join [ '', [ 'arn:aws:codepipeline:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':', !Ref AppPipeline ] ] RoleArn: !GetAtt EventRole.Arn Id: codepipeline-AppPipeline
-
(Opcional) Para configurar um transformador de entrada com substituições de origem para um ID de imagem específico, use o seguinte trecho YAML. O exemplo a seguir configura uma substituição em que:
-
O
actionName
,Source
neste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionType
,COMMIT_ID
neste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionValue
, <revisionValue
> neste exemplo, é derivado da variável de evento de origem. -
As variáveis de saída para
BranchName
eValue
são especificadas.
Rule: my-rule Targets: - Id: MyTargetId Arn: pipeline-ARN InputTransformer: sourceRevisions: actionName:
Source
revisionType:COMMIT_ID
revisionValue: <revisionValue
> variables: - name:BranchName
value:value
-
-
Salve o modelo atualizado em seu computador local e abra o AWS CloudFormation console.
-
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 AWS CloudFormation. Essas são as alterações a serem feitas na pilha. Seus novos recursos devem ser exibidos na lista.
-
Clique em Executar.
Para editar o PollForSourceChanges parâmetro do seu funil
Importante
Em muitos casos, o parâmetro PollForSourceChanges
é padronizado como verdadeiro ao criar um pipeline. Ao adicionar a detecção de alterações baseada em eventos, é necessário adicionar o parâmetro a sua saída e defini-lo como falso para desativar a sondagem. Caso contrário, o pipeline inicia duas vezes para uma única alteração de origem. Para obter detalhes, consulte Configurações válidas para o parâmetro PollForSourceChanges.
-
No modelo, altere
PollForSourceChanges
parafalse
. Se você não incluirPollForSourceChanges
na sua definição de pipeline, adicione-o e configure parafalse
.Por que estou fazendo essa alteração? A alteração deste parâmetro para
false
desativa as verificações periódicas para que você possa utilizar apenas a detecção de alterações baseada em eventos.Name: Source Actions: - Name: SourceAction ActionTypeId: Category: Source Owner: AWS Version: 1 Provider: CodeCommit OutputArtifacts: - Name: SourceOutput Configuration: BranchName: !Ref BranchName RepositoryName: !Ref RepositoryName
PollForSourceChanges: false
RunOrder: 1