

# Criar uma pilha com base no código-fonte do repositório com a sincronização do Git
<a name="git-sync-create-stack-from-repository-source-code"></a>

Este tópico explica como criar uma pilha do CloudFormation que seja sincronizada com um repositório Git com o Git sync.

**Importante**  
Antes de continuar, preencha todos os [pré-requisitos](git-sync-prereq.md) na seção anterior. 

## Criar uma pilha com base no código-fonte do repositório
<a name="create-stack-from-repository-source-code"></a>

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual a pilha deve ser criada.

1. Na página **Pilhas**, escolha **Criar pilha** e selecione **Com novos recursos (padrão)**.

1. Na página **Create a stack** (Criar uma pilha), faça o seguinte:

   1. Em **Pré-requisito: preparar modelo**, mantenha a opção ** Escolher um modelo existente** selecionada.

   1. Em **Especificar modelo**, escolha **Sincronizar a partir do Git** e **Próximo**.

1. Na página **Especificar detalhes da pilha**, em **Nome da pilha**, digite um nome para a sua pilha. Os nomes para as pilhas podem incluir letras (A-Z e a-z), números (0 a 9) e travessões (-).

1. Em **Arquivo de implantação da pilha**, **Criação do arquivo de implantação**:
   + Se você *não* criou um arquivo de implantação da pilha e o adicionou ao repositório, escolha **Criar o arquivo usando os parâmetros a seguir e colocá-lo em meu repositório**.
   + Se você tem um arquivo de implantação da pilha em seu repositório, escolha **Estou fornecendo meu próprio arquivo em meu repositório**.

1. Em **Repositório de definição de modelo**, selecione **Escolher um repositório Git vinculado** para escolher um repositório Git que já esteja vinculado ao CloudFormation ou **Vincular um repositório Git** para vincular um novo. Se você escolher **Vincular um repositório Git**, faça o seguinte:

   1. Em **Selecionar provedor de repositório**, escolha uma destas opções:
      + **GitHub**
      + **GitHub Enterprise Server**
      + **GitLab**
      + **Bitbucket**
      + **GitLab autogerenciado**

   1. Em **Conexão**, escolha uma conexão na lista. Se nenhuma opção aparecer na lista **Conexão**, selecione **adicione uma nova conexão** para acessar o [console do Connections](https://console.aws.amazon.com/codesuite/settings/connections) e crie uma conexão para o repositório.

1. Na lista **Repositório**, selecione o repositório Git que contém o arquivo de modelo da pilha.

1. Na lista **Ramificação**, selecione a ramificação que você deseja que o Git Sync monitore.
**nota**  
O Git Sync monitora somente a ramificação selecionada em busca de alterações no modelo do CloudFormation e nos arquivos de implantação da pilha. Quaisquer alterações que você gostaria de aplicar à sua pilha devem ser confirmadas para esta ramificação.

1. Para o **Caminho do arquivo de implantação**, especifique o caminho completo, incluindo o nome do arquivo de implantação da pilha na raiz da ramificação do repositório.

   Se o CloudFormation estiver gerando o arquivo para você, é neste local que o arquivo será confirmado em seu repositório. Se você estiver fornecendo o arquivo, este será o local do arquivo em seu repositório.

1. Adicione um **Perfil do IAM**. O perfil do IAM inclui as permissões necessárias para que o CloudFormation sincronize a pilha pelo seu repositório Git. É possível escolher **Novo perfil do IAM** para gerar um novo perfil ou escolher **Perfil do IAM existente** para selecionar um perfil existente em sua Conta da AWS. Se você optar por gerar um novo perfil, as permissões necessárias serão incluídas no perfil.

1. Habilitar ou desabilitar comentários na solicitação pull:
   + Para que o CloudFormation publique as informações do conjunto de alterações em solicitações pull para atualizações de pilha, mantenha a opção **Habilitar comentário na solicitação pull** ativada.
   + Se você desativar essa opção, o CloudFormation não descreverá as diferenças entre a configuração atual da pilha e as alterações propostas nas solicitações pull quando os arquivos do repositório forem atualizados.

1. Para o **Caminho do arquivo de modelo**, especifique o caminho completo da raiz do seu repositório para o arquivo de modelo de pilha.

1. (Opcional) Para especificar os parâmetros da pilha, escolha **Adicionar parâmetro**, forneça uma chave e um valor para cada parâmetro e escolha **Avançar**. Para obter mais informações, consulte [Arquivo de implantação da pilha](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

   Por exemplo, para especificar um parâmetro **port=8080** no arquivo de implantação da pilha, faça o seguinte:

   1. Selecione **Add parameter (Adicionar parâmetro)**.

   1. Em **Chave**, digite **port**.

   1. Em **Valor**, insira **8080**.

1. (Opcional) Para adicionar tags da pilha, escolha **Adicionar nova tag**, forneça uma chave e um valor para cada tag e, em seguida, escolha **Próximo**. Para obter mais informações, consulte [Arquivo de implantação da pilha](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

1. Escolha **Próximo** a fim de prosseguir para **Configurar opções da pilha**. Para obter informações sobre como configurar as opções da pilha, consulte [Configurar opções da pilha](cfn-console-create-stack.md#configure-stack-options).

   Quando concluir a configuração da pilha, escolha **Avançar** para continuar.

1. Analise as configurações da pilha e confirme o seguinte:
   + O modelo da pilha está configurado corretamente e definido como **Sincronizar pelo Git**.
   + O arquivo de implantação está configurado corretamente.
   + O repositório de definição de modelo está configurado corretamente e, em particular, o **Repositório** e o **Nome da ramificação** estão selecionados adequadamente.
   + A pré-visualização do arquivo de implantação está correta e contém os parâmetros e os valores esperados.

1. Escolha **Enviar** para criar a pilha.

   Após **Enviar** ser escolhido, uma solicitação pull é criada automaticamente em seu repositório Git. Você deve mesclar essa solicitação pull em seu repositório Git para criar sua pilha. Depois que a pilha é criada, o CloudFormation monitora as alterações no repositório Git.

## Atualize sua pilha a partir do seu repositório Git
<a name="update-stack-from-repository-source-code"></a>

Para atualizar a pilha, realize alterações diretamente no arquivo de modelo ou no arquivo de implantação da pilha no repositório Git. Após você confirmar suas alterações na ramificação monitorada, o CloudFormation atualiza automaticamente a pilha. Se você usa pull requests, uma pull request é criada automaticamente em seu repositório Git antes que a pilha seja atualizada. É necessário mesclar essa solicitação pull em seu repositório Git para atualizar sua pilha.

No console do CloudFormation, é possível selecionar a pilha e escolher a guia **Sincronização do Git** para visualizar informações sobre o status da pilha e sobre os eventos de sincronização. Para obter mais informações, consulte [Painel de status do Git Sync](git-sync-status.md).