Como gerar um pipeline inicial para o AWS CodePipeline no AWS SAM
Para gerar uma configuração de pipeline inicial para AWS CodePipeline, execute as seguintes tarefas nesta ordem:
-
Criar recursos de infraestrutura
-
Gere a configuração do pipeline
-
Confirme a configuração do pipeline no repositório Git
-
Conecte seu repositório Git ao seu sistema de CI/CD
nota
O procedimento a seguir utiliza dois comandos AWS SAM CLI, sam pipeline
bootstrap e sam pipeline init. A razão pela qual existem dois comandos é lidar com o caso de uso em que os administradores (ou seja, usuários que precisam de permissão para configurar recursos de infraestrutura AWS, como usuários e funções do IAM) têm mais permissão do que os desenvolvedores (ou seja, usuários que precisam apenas de permissão para configurar pipelines individuais, mas não os recursos de infraestrutura AWS necessários).
Etapa 1: Criar recursos de infraestrutura
Os pipelines que usam AWS SAM exigem determinados recursos AWS, como um usuário e funções do IAM com as permissões necessárias, um bucket do Amazon S3 e, opcionalmente, um repositório Amazon ECR. Você deve ter um conjunto de recursos de infraestrutura para cada estágio de implantação do pipeline.
Você pode executar o seguinte comando para ajudar nesta configuração:
sam pipeline bootstrap
nota
Execute o comando anterior para cada estágio de implantação do seu pipeline.
Etapa 2: Gerar a configuração do pipeline
Para gerar a configuração do pipeline, execute o comando a seguir.
sam pipeline init
Etapa 3: Confirme a configuração do pipeline no repositório Git
Essa etapa é necessária para garantir que seu sistema de CI/CD esteja ciente da configuração do pipeline e seja executado quando as alterações forem confirmadas.
Etapa 4: Conecte seu repositório Git ao seu sistema de CI/CD
Pois agora AWS CodePipeline você pode criar a conexão executando o seguinte comando:
sam deploy -t codepipeline.yaml --stack-name<pipeline-stack-name>--capabilities=CAPABILITY_IAM --region<region-X>
Se você estiver usando o GitHub ou o Bitbucket, depois de executar o comando sam deploy anteriormente, conclua a conexão seguindo as etapas em Para concluir uma conexão encontrada no tópico Atualizar uma conexão pendente no guia do usuário doconsole Developer Tools. Além disso, armazene uma cópia CodeStarConnectionArn do da saída do comando sam
deploy, pois você precisará dela se quiser usar AWS CodePipeline com outra ramificação diferente de main.
Configurando outras ramificações
Por padrão, AWS CodePipeline usa a ramificação main com AWS SAM. Se quiser usar uma ramificação diferente de main, você deve executar o comando sam deploy novamente. Observe que, dependendo do repositório Git que você estiver usando o, poderá ser necessário fornecer o CodeStarConnectionArn:
# For GitHub and Bitbucket sam deploy -t codepipeline.yaml --stack-name<feature-pipeline-stack-name>--capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=CodeStarConnectionArn=<branch-name>" # For AWS CodeCommit sam deploy -t codepipeline.yaml --stack-name<codestar-connection-arn><feature-pipeline-stack-name>--capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"
Saiba mais
Para obter um exemplo prático de configuração de um pipeline de CI/CD, consulte CI/CD com AWS CodePipeline