

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á.

# Gerando um pipeline inicial para AWS CodePipeline AWS SAM
<a name="serverless-generating-example-ci-cd-codepipeline"></a>

Para gerar uma configuração de pipeline inicial para AWS CodePipeline, execute as seguintes tarefas nesta ordem:

1. Criar recursos de infraestrutura

1. Gere a configuração do pipeline

1. Confirme a configuração do pipeline no repositório Git

1. Conecte seu repositório Git ao seu sistema CI/CD 

**nota**  
O procedimento a seguir utiliza dois comandos AWS SAMCLI, `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 AWS recursos de infraestrutura, 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 AWS recursos de infraestrutura necessários).

## Etapa 1: Criar recursos de infraestrutura
<a name="generating-example-step-1"></a>

Os pipelines que usam AWS SAM exigem determinados AWS recursos, 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
<a name="generating-example-step-2"></a>

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
<a name="generating-example-step-3"></a>

Essa etapa é necessária para garantir que seu CI/CD sistema esteja ciente da configuração do pipeline e seja executada quando as alterações forem confirmadas.

## Etapa 4: Conecte seu repositório Git ao seu sistema CI/CD
<a name="generating-example-step-4"></a>

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 Bitbucket, depois de executar o **sam deploy** comando anteriormente, conclua a conexão seguindo as etapas em **Para concluir uma conexão, encontradas no tópico Atualizar uma conexão** [pendente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) no *guia do usuário do console Developer Tools*. Além disso, armazene uma cópia `CodeStarConnectionArn` do da saída do **sam deploy** comando, pois você precisará dela se quiser usar AWS CodePipeline com outra ramificação diferente de`main`.

## Configurando outras ramificações
<a name="configuring-other-branches"></a>

Por padrão, AWS CodePipeline usa a `main` ramificação 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=<branch-name> CodeStarConnectionArn=<codestar-connection-arn>"

# For AWS CodeCommit
sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"
```

## Saiba mais
<a name="serverless-generating-cicd-learn"></a>

*Para ver um exemplo prático de configuração de um CI/CD pipeline, consulte [CI/CD AWS CodePipeline em The Complete Workshop](https://catalog.workshops.aws/complete-aws-sam/en-US/module-4-cicd). AWS SAM *