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á.
Tutorial: criar um pipeline simples (CodeCommitrepositório)
Neste tutorial, você usa CodePipeline para implantar código mantido em um CodeCommit repositório em uma única EC2 instância da Amazon. Seu pipeline é acionado quando você envia uma alteração para o CodeCommit repositório. O pipeline implanta suas alterações em uma EC2 instância da Amazon usando CodeDeploy como serviço de implantação.
Importante
Como parte da criação de um pipeline, um bucket de artefatos S3 fornecido pelo cliente será usado CodePipeline por for artefacts. (Isso é diferente do bucket usado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.
O pipeline tem dois estágios:
-
Um estágio de origem (Fonte) para sua ação CodeCommit de origem.
-
Um estágio de implantação (Implantação) para sua ação CodeDeploy de implantação.
A maneira mais fácil de começar AWS CodePipeline é usar o assistente Create Pipeline no CodePipeline console.
nota
Antes de começar, certifique-se de ter configurado seu cliente Git para trabalhar com ele. CodeCommit Para obter instruções, consulte Configurando para CodeCommit.
Etapa 1: criar um CodeCommit repositório
Primeiro, você cria um repositório no CodeCommit. Seu pipeline obtém o código-fonte desse repositório quando for executado. Você também cria um repositório local onde mantém e atualiza o código antes de enviá-lo para o CodeCommit repositório.
Para criar um CodeCommit repositório
-
Abra o CodeCommit console em https://console.aws.amazon.com/codecommit/
. -
No seletor de região, escolha Região da AWS onde você deseja criar o repositório e o pipeline. Para obter mais informações, consulte Regiões da AWS e endpoints.
-
Na página Repositories (Repositórios), selecione Create repository (Criar repositório).
-
Na página Create repository (Criar repositório), em Repository name (Nome do repositório), insira um nome para o repositório (por exemplo
MyDemoRepo
). -
Escolha Criar.
nota
As etapas restantes deste tutorial são usadas MyDemoRepo
para o nome do seu CodeCommit repositório. Se você escolher um nome diferente, certifique-se de usá-lo durante todo este tutorial.
Como configurar um repositório local
Nesta etapa, você configura um repositório local para se conectar ao seu CodeCommit repositório remoto.
nota
Não é necessário configurar um repositório local. Você também pode usar o console do para fazer upload dos arquivos, conforme descrito em Etapa 2: adicionar código de amostra ao seu CodeCommit repositório.
-
Com seu novo repositório aberto no console, escolha Clonar URL no canto superior direito da página e, em seguida, escolha Clonar. SSH O endereço para clonar o repositório Git é copiado na área de transferência.
-
No terminal ou na linha de comando, navegue até um diretório local onde você deseja que seu repositório local seja armazenado. Neste tutorial, usamos
/tmp
. -
Execute o comando a seguir para clonar o repositório, substituindo o SSH endereço pelo que você copiou na etapa anterior. Esse comando cria um diretório chamado
MyDemoRepo
. Copie um aplicativo de exemplo nesse diretório.git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/MyDemoRepo
Etapa 2: adicionar código de amostra ao seu CodeCommit repositório
Nesta etapa, você baixa o código de um aplicativo de amostra que foi criado para um CodeDeploy exemplo de demonstração e o adiciona ao seu CodeCommit repositório.
-
Depois, faça download de um exemplo e salve-o em uma pasta ou um diretório no computador local.
-
Escolha uma das seguintes opções. Selecione
SampleApp_Linux.zip
se deseja seguir as etapas deste tutorial para instâncias do Linux.-
Se você quiser implantar em instâncias Amazon Linux usando CodeDeploy, baixe o aplicativo de amostra aqui: SampleApp_Linux.zip.
-
Se você quiser implantar em instâncias do Windows Server usando CodeDeploy, baixe o aplicativo de amostra aqui: SampleApp_Windows.zip.
O aplicativo de amostra contém os seguintes arquivos para implantação com CodeDeploy:
-
appspec.yml
— O arquivo de especificação do aplicativo (AppSpecarquivo) é um arquivo YAMLformatado usado pelo CodeDeploy para gerenciar uma implantação. Para obter mais informações sobre o AppSpec arquivo, consulte Referência CodeDeploy AppSpec do arquivo no Guia AWS CodeDeploy do usuário. -
index.html
: o arquivo de índice contém a página inicial da aplicação de exemplo implantada. -
LICENSE.txt
: o arquivo de licença contém informações de licença da aplicação de exemplo. -
Arquivos para scripts: a aplicação de exemplo usa scripts para gravar arquivos de texto em um local na instância. Um arquivo é gravado para cada um dos vários eventos do ciclo de vida da CodeDeploy implantação da seguinte forma:
-
Pasta
scripts
(somente exemplo do Linux): a pasta contém os seguintes scripts de shell para instalar dependências e iniciar e interromper a aplicação de exemplo para a implantação automatizada:install_dependencies
,start_server
estop_server
. -
(Somente exemplo do Windows)
before-install.bat
: um script em lote para o evento de ciclo de vida de implantaçãoBeforeInstall
, que será executado para remover os arquivos antigos gravados durante implantações anteriores deste exemplo e criar um local na instância onde os novos arquivos serão gravados.
-
-
-
Faça download do arquivo compactado.
-
-
Descompacte os arquivos do SampleApp_Linux.zip no diretório local que você criou anteriormente (por exemplo,
/tmp/MyDemoRepo
ouc:\temp\MyDemoRepo
).Certifique-se de alocar os arquivos diretamente em seu repositório local. Não inclua uma pasta
SampleApp_Linux
. Na máquina Linux, macOS ou Unix local, por exemplo, a hierarquia de arquivos e diretórios deve ser semelhante a:/tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server
-
Para fazer upload dos arquivos para o repositório, use um dos métodos a seguir.
-
Para usar o CodeCommit console para carregar seus arquivos:
-
Abra o CodeCommit console e escolha seu repositório na lista Repositórios.
-
Selecione Add file (Adicionar arquivo) e clique em Upload file (Carregar arquivo).
-
Selecione Choose file (Escolher arquivo) e procure o arquivo. Para adicionar um arquivo em uma pasta, selecione Criar arquivo e, depois, insira o nome da pasta com o nome do arquivo, como
scripts/install_dependencies
. Cole o conteúdo do arquivo no novo arquivo.Informe seu nome de usuário e endereço de e-mail para confirmar a alteração.
Escolha Commit changes (Confirmar alterações).
-
Repita esta etapa para cada arquivo.
O conteúdo do repositório deve ter a seguinte aparência:
│-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server
-
-
Para usar os comandos do git para fazer upload dos arquivos:
-
Altere diretórios para o seu repositório local:
(For Linux, macOS, or Unix)
cd /tmp/MyDemoRepo(For Windows)
cd c:\temp\MyDemoRepo -
Execute o seguinte comando para organizar todos os seus arquivos de uma só vez:
git add -A
-
Execute o seguinte comando para confirmar os arquivos com uma mensagem de confirmação:
git commit -m "Add sample application files"
-
Execute o comando a seguir para enviar os arquivos do seu repositório local para o seu CodeCommit repositório:
git push
-
-
-
Os arquivos que você baixou e adicionou ao seu repositório local agora foram adicionados à
main
ramificação do seu CodeCommitMyDemoRepo
repositório e estão prontos para serem incluídos em um pipeline.
Etapa 3: criar uma instância Amazon EC2 Linux e instalar o CodeDeploy agente
Nesta etapa, você cria a EC2 instância da Amazon na qual implanta um aplicativo de amostra. Como parte desse processo, crie uma função de instância que permita a instalação e o gerenciamento do CodeDeploy agente na instância. O CodeDeploy agente é um pacote de software que permite que uma instância seja usada em CodeDeploy implantações. Você também anexa políticas que permitem que a instância busque arquivos que o CodeDeploy agente usa para implantar seu aplicativo e permitir que a instância seja gerenciadaSSM.
Como criar uma função de instância
-
Abra o IAM console em https://console.aws.amazon.com/iam/
). -
No painel do console, escolha Roles (Funções).
-
Selecione Criar função.
-
Em Selecionar tipo de entidade confiável, selecione AWS service (Serviço da AWS). Em Escolha um caso de uso, selecione EC2. Em Selecione seu caso de uso, escolha EC2. Selecione Next: Permissions (Próximo: permissões).
-
Procure e selecione a política chamada
AmazonEC2RoleforAWSCodeDeploy
. -
Procure e selecione a política chamada
AmazonSSMManagedInstanceCore
. Escolha Próximo: etiquetas. -
Selecione Next: Review (Próximo: revisar). Forneça um nome para a função (por exemplo,
EC2InstanceRole
).nota
Anote o nome da função para a próxima etapa. Escolha essa função ao criar a instância.
Selecione Criar função.
Como iniciar uma instância
Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/
. -
Na navegação lateral, escolha Instâncias e selecione Executar instâncias na parte superior da página.
-
Em Nome, insira
MyCodePipelineDemo
. Isso atribui à instância uma tag Chave deName
e uma tag Valor deMyCodePipelineDemo
. Posteriormente, você cria um CodeDeploy aplicativo que implanta o aplicativo de amostra nessa instância. CodeDeployseleciona instâncias a serem implantadas com base nas tags. -
Em Imagens do aplicativo e do sistema operacional (Amazon Machine Image), localize a AMI opção Amazon Linux com o AWS logotipo e verifique se ela está selecionada. (Isso AMI é descrito como Amazon Linux 2 AMI (HVM) e é rotulado como “Qualificado para o nível gratuito”.)
-
Em Tipo de instância, selecione o tipo
t2.micro
elegível para o nível gratuito como configuração de hardware para a instância. -
Na seção Par de chaves (login), selecione um par de chaves ou crie um.
Também é possível selecionar Prosseguir sem um par de chaves.
nota
Para os fins deste tutorial, é possível prosseguir sem um par de chaves. Para se conectar SSH às suas instâncias, crie ou use um key pair.
-
Em Configurações de rede, faça o seguinte:
Em Atribuir IP público automaticamente, verifique se o status é Habilitado.
-
Ao lado de Assign a security group (Atribuir um grupo de segurança), selecione Create a new security group (Criar novo grupo de segurança).
-
Na linha para SSH, em Tipo de origem, escolha Meu IP.
-
Escolha Adicionar grupo de segurança HTTP, escolha e, em Tipo de origem, escolha Meu IP.
-
-
Expanda Advanced details (Detalhes avançados). No perfil da IAM instância, escolha a IAM função que você criou no procedimento anterior (por exemplo,
EC2InstanceRole
). -
Em Resumo, em Número de instâncias, insira
1
. -
Escolha Iniciar instância.
-
É possível visualizar o status da ativação na página Instâncias. Ao executar uma instância, seu estado inicial é
pending
. Depois que a instância é iniciada, seu estado muda pararunning
e ela recebe um DNS nome público. (Se a DNS coluna Público não for exibida, escolha o ícone Mostrar/Ocultar e selecione Público DNS.)
Etapa 4: criar um aplicativo no CodeDeploy
Em CodeDeploy, um aplicativo é um recurso que contém o aplicativo de software que você deseja implantar. Posteriormente, você usa esse aplicativo CodePipeline para automatizar as implantações do aplicativo de amostra na sua instância da AmazonEC2.
Primeiro, você cria uma função que permite CodeDeploy realizar implantações. Depois, crie um aplicativo do CodeDeploy .
Para criar uma função CodeDeploy de serviço
-
Abra o IAM console em https://console.aws.amazon.com/iam/
). -
No painel do console, escolha Roles (Funções).
-
Selecione Criar função.
-
Em Selecionar entidade confiável, escolha AWS service (Serviço da AWS). Em Use case (Caso de uso), escolha CodeDeploy. CodeDeployEscolha entre as opções listadas. Escolha Próximo. A política gerenciada
AWSCodeDeployRole
já está anexada à função. -
Escolha Próximo.
-
Insira um nome para a função (por exemplo,
CodeDeployRole
) e escolha Create role (Criar função).
Para criar um aplicativo no CodeDeploy
-
Abra o CodeDeploy console em https://console.aws.amazon.com/codedeploy
. -
Se a página Aplicações não for exibida, no menu, selecione Aplicações.
-
Escolha Criar aplicativo.
-
Em Nome do aplicativo, insira
MyDemoApplication
. -
Em Compute Platform, escolha EC2/On-premises.
-
Selecione Create application (Criar aplicativo).
Para criar um grupo de implantação no CodeDeploy
Um grupo de implantação é um recurso que define configurações relacionadas à implantação, como em quais instâncias implantar e com que rapidez implantá-las.
-
Na página que mostra o aplicativo, selecione Create deployment group (Criar grupo de implantação).
-
Em Nome do grupo de implantação, insira
MyDemoDeploymentGroup
. -
Em Função de serviço, escolha a função ARN de serviço que você criou anteriormente (por exemplo,
).arn:aws:iam::
account_ID
:role/CodeDeployRole -
Em Deployment type (Tipo de implantação), selecione In-place (No local).
-
Em Configuração do ambiente, escolha Amazon EC2 Instances. No campo, Chave, insira
Name
. No campo Valor, insira o nome usado para marcar a instância (por exemplo,MyCodePipelineDemo
). -
Em Configuração do agente com AWS Systems Manager, escolha Agora e agende atualizações. Isso vai instalar o agente na instância. A instância Linux já está configurada com o SSM agente e agora será atualizada com o CodeDeploy agente.
-
Em Deployment configuration (Configuração de implantação), selecione
CodeDeployDefault.OneAtaTime
. -
Em Balanceador de carga, verifique se Habilitar balanceamento de carga não está selecionado. Você não precisa configurar um load balancer ou escolher um grupo de destino para este exemplo.
-
Selecione Criar grupo de implantação.
Etapa 5: Crie seu primeiro funil em CodePipeline
Agora, você está pronto para criar e executar seu primeiro pipeline. Nesta etapa, você cria um pipeline que é executado automaticamente quando o código é enviado ao seu CodeCommit repositório.
Para criar um CodePipeline pipeline
Faça login no AWS Management Console e abra o CodePipeline console em http://console.aws.amazon.com/codesuite/codepipeline/home
. Abra o CodePipeline console em https://console.aws.amazon.com/codepipeline/
. -
Selecione Criar pipeline.
-
Em Step 1: Choose pipeline settings (Etapa 1: selecionar as configurações do pipeline), em Pipeline name (Nome do pipeline), insira
MyFirstPipeline
. -
Em Tipo de pipeline, escolha V2. Para obter mais informações, consulte Tipos de pipeline. Escolha Próximo.
-
Em Função de serviço, escolha Nova função de serviço para permitir CodePipeline a criação de uma função de serviço emIAM.
-
Deixe as configurações em Advanced settings (Configurações avançadas) como padrão e escolha Next (Próximo).
-
Na Etapa 2: Adicionar estágio de origem, em Provedor de origem, escolha CodeCommit. Em Nome do repositório, escolha o nome do CodeCommit repositório em que você criou. Etapa 1: criar um CodeCommit repositório Em Branch name (Nome da ramificação), escolha
main
e, depois, selecione Next step (Próxima etapa).Depois de selecionar o nome do repositório e a ramificação, uma mensagem exibe a regra Amazon CloudWatch Events a ser criada para esse pipeline.
Em Change detection options (Alterar opções de detecção), deixe os valores padrão. Isso permite CodePipeline usar o Amazon CloudWatch Events para detectar alterações em seu repositório de origem.
Escolha Próximo.
-
Em Step 3: Add build stage (Etapa 3: Adicionar estágio de construção), selecione Skip build stage (Pular estágio de compilação) e aceite a mensagem de aviso ao clicar novamente em Skip (Pular). Escolha Próximo.
nota
Neste tutorial, você está implantando um código que não requer um serviço de compilação, portanto, ignore esta etapa. No entanto, se seu código-fonte precisar ser criado antes de ser implantado nas instâncias, você poderá configurá-lo CodeBuild
nesta etapa. -
Na Etapa 4: Adicionar estágio de implantação, em Provedor de implantação, escolha CodeDeploy. Em Application name (Nome do aplicativo), escolha
MyDemoApplication
. Em Deployment group (Grupo de implantação), escolhaMyDemoDeploymentGroup
e, depois, selecione Next step (Próxima etapa). -
Em Etapa 5: Revisar, revise as informações e, então selecione Criar pipeline.
-
O pipeline começa a ser executado depois de ser criado. Ele baixa o código do seu CodeCommit repositório e cria uma CodeDeploy implantação na sua EC2 instância. Você pode visualizar o progresso e as mensagens de sucesso e falha à medida que a CodePipeline amostra implanta a página da web na EC2 instância da Amazon na CodeDeploy implantação.
Parabéns! Você acabou de criar um pipeline simples em CodePipeline.
Depois, você verifica os resultados.
Para verificar se o seu pipeline foi executado com êxito
-
Visualize o progresso inicial do pipeline. O status de cada estágio muda de No executions yet (Ainda não executado) para In Progress (Em andamento) e, então, para Succeeded (Bem-sucedido) ou Failed (Falhou). O pipeline deve concluir a primeira execução dentro de alguns minutos.
-
Depois que Succeeded for exibido para o status do pipeline, na área de status do estágio Implantação, escolha CodeDeploy. Isso abre o CodeDeploy console. Se Succeeded (Bem-sucedido) não for exibido, consulte Solução de problemas CodePipeline.
-
Na guia Implantações, selecione o ID de implantação. Na página da implantação, em Eventos de ciclo de vida da implantação, selecione o ID da instância. Isso abre o console do EC2.
-
Na guia Descrição, em Público DNS, copie o endereço (por exemplo,
ec2-192-0-2-1.us-west-2.compute.amazonaws.com
) e cole-o na barra de endereço do seu navegador da web.A página da web é exibida para o aplicativo de amostra que você baixou e enviou para o seu CodeCommit repositório.
Para obter mais informações sobre os estágios, as ações e o funcionamento dos pipelines, consulte CodePipeline conceitos .
Etapa 6: modificar o código no seu CodeCommit repositório
Seu pipeline está configurado para ser executado sempre que alterações de código forem feitas em seu CodeCommit repositório. Nesta etapa, você faz alterações no HTML arquivo que faz parte do CodeDeploy aplicativo de amostra no CodeCommit repositório. Quando essas alterações são enviadas, o pipeline é executado novamente, e as alterações feitas ficam visíveis no endereço da web acessado anteriormente.
-
Altere diretórios para o seu repositório local:
(For Linux, macOS, or Unix)
cd /tmp/MyDemoRepo
(For Windows)
cd c:\temp\MyDemoRepo
-
Use um editor de texto para modificar o arquivo
index.html
:(For Linux or Unix)
gedit index.html(For OS X)
open –e index.html(For Windows)
notepad index.html -
Revise o conteúdo do arquivo
index.html
para alterar a cor do plano de fundo e parte do texto na página da web e depois salve o arquivo.<!DOCTYPE html> <html> <head> <title>Updated Sample Deployment</title> <style> body { color: #000000; background-color: #CCFFCC; font-family: Arial, sans-serif; font-size:14px; } h1 { font-size: 250%; font-weight: normal; margin-bottom: 0; } h2 { font-size: 175%; font-weight: normal; margin-bottom: 0; } </style> </head> <body> <div align="center"><h1>Updated Sample Deployment</h1></div> <div align="center"><h2>This application was updated using CodePipeline, CodeCommit, and CodeDeploy.</h2></div> <div align="center"> <p>Learn more:</p> <p><a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/">CodePipeline User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codecommit/latest/userguide/">CodeCommit User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/">CodeDeploy User Guide</a></p> </div> </body> </html>
-
Confirme e envie suas alterações para seu CodeCommit repositório executando os seguintes comandos, um por vez:
git commit -am "Updated sample application files"
git push
Como verificar se seu pipeline foi executado com êxito
-
Visualize o progresso inicial do pipeline. O status de cada estágio muda de No executions yet (Ainda não executado) para In Progress (Em andamento) e, então, para Succeeded (Bem-sucedido) ou Failed (Falhou). A execução do pipeline deve ser concluída em alguns minutos.
-
Depois que Succeeded (Bem-sucedido) for exibido para o status da ação, atualize a página de demonstração acessada anteriormente no navegador.
A página da web atualizada é exibida.
Etapa 7: Limpar os recursos
É possível usar alguns dos recursos criados neste tutorial para outros tutoriais neste guia. Por exemplo, você pode reutilizar o CodeDeploy aplicativo e a implantação. No entanto, depois de finalizar este e outros tutoriais, você deverá excluir o pipeline e os recursos usados para não ser cobrado pelo uso contínuo desses recursos. Primeiro, exclua o pipeline, depois o CodeDeploy aplicativo e sua EC2 instância Amazon associada e, finalmente, o CodeCommit repositório.
Para limpar os recursos usados neste tutorial
-
Para limpar seus CodePipeline recursos, siga as instruções em Excluir um pipeline em AWS CodePipeline.
-
Para limpar seus CodeDeploy recursos, siga as instruções em Clean Up Deployment Walkthrough Resources.
-
Para excluir o CodeCommit repositório, siga as instruções em Excluir um CodeCommit repositório.
Etapa 8: Outras fontes de leitura
Saiba mais sobre como CodePipeline funciona:
-
Para obter mais informações sobre os estágios, as ações e o funcionamento dos pipelines, consulte CodePipeline conceitos .
-
Para obter informações sobre as ações que você pode executar usando CodePipeline, consulteIntegrações com tipos de CodePipeline ação.
-
Experimente este tutorial mais avançado, Tutorial: Criar um pipeline de quatro estágios. Ele cria um pipeline de vários estágios incluindo uma etapa que cria o código antes de ser implantado.