

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

# Gere um CI/CD pipeline inicial com AWS SAM
<a name="serverless-generating-example-ci-cd"></a>

Quando estiver pronto para automatizar a implantação, você poderá usar um dos nossos modelos AWS SAM de pipeline inicial para gerar um pipeline de implantação para o CI/CD sistema que você escolher usar. O pipeline de implantação é o que você configura e usa para automatizar a implantação da aplicação sem servidor. Um modelo de pipeline inicial é pré-configurado para ajudar você a configurar rapidamente o pipeline de implantação para a aplicação sem servidor. 

Com um modelo de pipeline inicial, você pode gerar pipelines em poucos minutos usando o comando [sam pipeline init](sam-cli-command-reference-sam-pipeline-init.md).

Os modelos iniciais do pipeline usam a JSON/YAML sintaxe familiar do CI/CD sistema e incorporam as melhores práticas, como gerenciar artefatos em várias contas e regiões e usar a quantidade mínima de permissões necessárias para implantar o aplicativo. [https://github.com/features/actions](https://github.com/features/actions)

Aqui estão as tarefas de alto nível que você precisa realizar para gerar uma configuração inicial do pipeline:

1. **Crie recursos de infraestrutura** — Seu pipeline requer determinados AWS recursos, por exemplo, o usuário e as funções do IAM com as permissões necessárias, um bucket do Amazon S3 e, opcionalmente, um repositório do Amazon ECR.

1. **Conecte seu repositório Git ao seu CI/CD sistema — Seu CI/CD sistema** precisa saber qual repositório Git acionará a execução do pipeline. Observe que essa etapa pode não ser necessária, dependendo da combinação do repositório Git e do CI/CD sistema que você está usando.

1. **Gere sua configuração de pipeline** — Essa etapa gera uma configuração inicial de pipeline que inclui dois estágios de implantação.

1. **Confirme a configuração do pipeline no repositório Git** — 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.

Depois de gerar a configuração inicial do pipeline e confirmá-la no seu repositório Git, sempre que alguém fizer uma alteração de código nesse repositório, seu pipeline será acionado para ser executado automaticamente.

A ordem dessas etapas e os detalhes de cada etapa variam de acordo com seu sistema de CI/CD:
+ Se você estiver usando AWS CodePipeline, consulte[Gerando um pipeline inicial para AWS CodePipeline AWS SAM](serverless-generating-example-ci-cd-codepipeline.md).
+ Se você estiver usando Jenkins, GitLab CI/CD, GitHub Actions ou Bitbucket Pipelines, consulte. [Use AWS SAM para gerar pipelines iniciais para Jenkins, GitLab CI/CD, Actions, Bitbucket Pipelines GitHub](serverless-generating-example-ci-cd-others.md)

# 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 *

# Use AWS SAM para gerar pipelines iniciais para Jenkins, GitLab CI/CD, Actions, Bitbucket Pipelines GitHub
<a name="serverless-generating-example-ci-cd-others"></a>

Para gerar uma configuração inicial de pipeline para Jenkins, GitLab CI/CD, GitHub Actions ou Bitbucket Pipelines, execute as seguintes tarefas nesta ordem:

1. Criar recursos de infraestrutura

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

1. Crie objetos de credencial

1. Gere a configuração do pipeline

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

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

Você deve capturar AWS as credenciais (ID da chave e chave secreta) dos usuários do pipeline em cada estágio de implantação do seu pipeline, pois elas são necessárias para as etapas subsequentes.

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

É necessário conectar seu repositório Git ao seu CI/CD sistema para que o CI/CD sistema possa acessar o código-fonte do seu aplicativo para compilações e implantações.

**nota**  
Você pode ignorar esta etapa se estiver usando uma das combinações a seguir, porque a conexão é feita para você automaticamente:  
GitHub Ações com GitHub repositório
GitLab CI/CD com repositório GitLab 
Pipelines do Bitbucket com um repositório do Bitbucket

Para conectar seu repositório Git ao seu CI/CD sistema, faça o seguinte:
+ Se você estiver usando o Jenkins, consulte a [documentação do Jenkins](https://www.jenkins.io/doc/book/pipeline/multibranch/) para “Adicionar uma fonte de ramificação”.
+ Se você estiver usando GitLab CI/CD e um repositório Git diferente GitLab, consulte a [GitLabdocumentação](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/) para “conectar um repositório externo”.

## Etapa 3: Criar objetos de credencial
<a name="generating-example-step-3"></a>

Cada CI/CD sistema tem sua própria maneira de gerenciar as credenciais necessárias para que o CI/CD sistema acesse seu repositório Git.

Para criar os objetos de credencial necessários, faça o seguinte:
+ Se você estiver usando o Jenkins, crie uma única “credencial” que armazene o ID da chave e a chave secreta. Siga as instruções no blog [Como criar um pipeline do Jenkins com AWS SAM](https://aws.amazon.com/blogs/compute/building-a-jenkins-pipeline-with-aws-sam/), na seção **Configurar o Jenkins**. Você precisará dessa “ID de credencial” para a próxima etapa.
+ Se você estiver usando GitLab CI/CD, crie duas “variáveis protegidas”, uma para cada ID de chave e chave secreta. Siga as instruções na [GitLab documentação](https://docs.gitlab.com/ee/ci/variables/) — você precisará de duas “chaves variáveis” para a próxima etapa.
+ Se você estiver usando GitHub Ações, crie dois “segredos criptografados”, um para cada chave e uma chave secreta. Siga as instruções na [GitHubdocumentação](https://docs.github.com/en/actions/reference/encrypted-secrets) - você precisará de dois “nomes secretos” para a próxima etapa.
+ Se você estiver usando o Bitbucket Pipelines, crie duas “variáveis seguras”, uma para cada ID de chave e chave secreta. Siga as instruções em [Variáveis e segredos](https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets) - você precisará de dois "nomes secretos" para a próxima etapa.

## Etapa 4: Gerar a configuração do pipeline
<a name="generating-example-step-4"></a>

Para gerar a configuração do pipeline, execute o comando a seguir. Você precisará inserir o objeto de credencial criado na etapa anterior:

```
sam pipeline init
```

## Etapa 5: Confirme a configuração do pipeline no repositório Git
<a name="generating-example-step-5"></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.

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

*Para ver um exemplo prático de como configurar um CI/CD pipeline usandoGitHub Actions, consulte [CI/CD GitHub em The Complete Workshop](https://s12d.com/sam-ws-en-gh). AWS SAM *