Geral

P: O que é o AWS CodePipeline?
O AWS CodePipeline é um serviço de entrega contínua que permite modelar, visualizar e automatizar as etapas necessárias para lançar um software. Com o AWS CodePipeline, você modela o processo completo de liberação para criação de código, implantação em ambientes de pré-produção, testes do aplicativo e liberação do aplicativo para produção. O AWS CodePipeline cria, testa e implanta um aplicativo de acordo com o fluxo de trabalho definido todas as vezes que ocorre uma alteração de código. Você pode integrar ferramentas de parceiros e suas próprias ferramentas personalizadas a qualquer etapa do processo de liberação para compor uma solução de entrega contínua completa.

P: Por que devo usar o AWS CodePipeline?
A automação do processo de compilação, teste e liberação pelo AWS CodePipeline permite aumentar a velocidade e a qualidade das atualizações de software, passando todas as novas alterações por um conjunto consistente de verificações de qualidade.
 
P: O que é a entrega contínua?
A entrega contínua é uma prática de desenvolvimento de software em que alterações de código são criadas, testadas e preparadas automaticamente para liberação para produção. O AWS CodePipeline é um serviço que ajuda você a praticar a entrega contínua. Saiba mais sobre a entrega contínua aqui.

Conceitos

O diagrama abaixo representa os conceitos discutidos nesta seção.

P: O que é um pipeline?
Um pipeline é uma estrutura de fluxo de trabalho que descreve como as alterações de software passam pelo processo de liberação. O fluxo de trabalho é definido por uma sequência de etapas e ações.

P: O que é uma revisão?
Uma revisão é uma mudança feita na localização do fonte definido para o pipeline. A revisão pode incluir código-fonte, resultados da compilação, configuração ou dados. Um pipeline pode ter várias revisões simultâneas fluindo por ele.
 
P: O que é uma etapa?
Uma etapa é um grupo de uma ou mais ações. Um pipeline pode ter duas ou mais etapas.
 
P: O que é uma ação?
Uma ação é uma tarefa executada em uma revisão. As ações do pipeline ocorrem em uma ordem específica (em série ou em paralelo), conforme determinado na configuração da etapa. Para obter mais informações, consulte Editar um pipeline no AWS CodePipeline e Requisitos da estrutura de ação no AWS CodePipeline.
 
P: O que é um artefato?
Quando uma ação é executada, age sobre um arquivo ou um conjunto de arquivos. Esses arquivos são denominados artefatos. Esses artefatos podem ser utilizados por ações posteriores no pipeline. Por exemplo, uma ação de fonte gera uma saída com a versão mais recente do código como um artefato de fonte, que será lido pela ação de compilação. Após a compilação, a ação de compilação fará o upload da saída da compilação como outro artefato, que será lido pelas ações de implantação posteriores.
 
P: O que é uma transição?
As etapas de um pipeline são conectadas por transições e são representadas por setas no console do AWS CodePipeline. Quando as ações de uma etapa da revisão são concluídas com êxito, essa revisão é enviada automaticamente para a próxima etapa, conforme indicado pela seta de transição. As transições entre as etapas podem ser desabilitadas ou habilitadas.

Uso do AWS CodePipeline

P: Como faço para começar a usar o AWS CodePipeline?
Você pode fazer login no Console de Gerenciamento da AWS, criar um pipeline e começar a usar o serviço. Para obter uma introdução ao AWS CodePipeline, consulte os conceitos básicos, que incluem tutoriais detalhados. 
 
P: Como faço para iniciar um pipeline?
Após ser criado, um pipeline inicia automaticamente uma execução para liberar a mais recente versão do código-fonte. Dali em diante, todas as vezes que você alterar a localização do fonte, uma nova execução será acionada. Além disso, você pode passar novamente a última revisão pelo pipeline usando o botão Release Change no console do pipeline.
 
P: Como faço para interromper um pipeline?
Para interromper um pipeline, você pode desabilitar a transição entre duas etapas. Após a desabilitação, o pipeline continuará a executar revisões pelas ações, mas não promoverá revisões por meio da transição desabilitada para etapas posteriores. Para obter mais detalhes, consulte Disable or Enable Transitions in AWS CodePipeline.
 
P: Posso editar um pipeline existente?
Sim. Você pode usar o console do AWS CodePipeline ou a ILC da AWS para adicionar ou remover etapas em um pipeline, bem como para adicionar, editar ou remover ações de uma etapa.
 
P: Posso criar uma cópia de um pipeline existente?
Sim. É possível usar o comando get-pipeline da ILC da AWS para obter a estrutura JSON de um pipeline existente. Em seguida, você pode usar esse JSON e o comando create-pipeline da ILC da AWS para criar um novo pipeline com a mesma estrutura do já existente.
 
P: É possível executar ações em paralelo?
Sim. É possível configurar uma ou mais ações de uma etapa para execução em paralelo.
 
P: Como posso praticar a entrega contínua de aplicativos sem servidor e de funções do AWS Lambda?
É possível liberar atualizações para aplicativos sem servidor incluindo o modelo AWS Serverless Application Model e seus arquivos correspondentes no repositório do código-fonte. É possível usar o AWS CodeBuild no pipeline para empacotar o código para implantação. Depois, você poderá usar ações do AWS CloudFormation para criar um conjunto de alterações e implantar o aplicativo sem servidor. Existe a opção de ampliar o fluxo de trabalho realizando etapas adicionais, como aprovações manuais ou testes automáticos. Saiba mais aqui.
 
P: Como provisionar e gerenciar recursos da AWS por meio de um processo de fluxo de trabalho de liberação?
Ao usar o AWS CodePipeline e o AWS CloudFormation, é possível usar a entrega contínua para compilar e testar automaticamente alterações nas pilhas do AWS CloudFormation antes de promovê-las a pilhas de produção. Esse processo de liberação permite fazer alterações de modo rápido e confiável na infraestrutura da AWS. É possível estender o fluxo de trabalho realizando ações adicionais, como aprovações manuais e ações de teste, ou invocar ações do AWS Lambda. Para obter mais detalhes, consulte a página Entrega contínua com o AWS CloudFormation.
 
P: Quais integrações de produtos estão disponíveis com o AWS CodePipeline?
O AWS CodePipeline é integrado a serviços da AWS como AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS e AWS Lambda. Além disso, o AWS CodePipeline é integrado a diversas ferramentas de parceiros. Para obter detalhes, consulte a página de integrações de produtos. Finalmente, você pode criar suas próprias ações personalizadas e integrar qualquer ferramenta existente com o CodePipeline. Para obter mais detalhes sobre ações personalizadas, consulte a página Criar e adicionar uma ação personalizada no AWS CodePipeline.
 
P: Posso obter o histórico das chamadas de API do AWS CodePipeline?
Sim. Para receber um histórico das chamadas de API do AWS CodePipeline efetuadas na sua conta para fins de análise e solução de problemas operacionais, basta ativar o AWS CloudTrail no Console de Gerenciamento da AWS. Para obter mais informações, consulte Registrar chamadas de API do AWS CodePipeline com o AWS CloudTrail.
 
P: Quais são os limites de serviço ao usar o AWS CodePipeline?
Para informações sobre os limites de serviço, consulte Limites.

 
P: Como recebo notificações ou alertas para qualquer evento no AWS CodePipeline?
É possível criar notificações para eventos que afetem seus pipelines. As notificações chegarão na forma de notificações do Amazon SNS. Cada notificação incluirá uma mensagem de status e um link para os recursos cujo evento gerou essa notificação. As notificações não geram custo adicional, mas você pode ser cobrado por outros produtos da AWS utilizados pelas notificações, como o Amazon SNS. Para saber como começar a receber as notificações, consulte o guia de notificações do usuário. Além disso, os clientes que usam o AWS Chatbot podem configurar para que as notificações sejam enviadas para suas salas de chat do Slack Channels ou do Amazon Chime. Para mais detalhes, clique aqui.  

Parceiros

P: O que preciso fazer para a integração com o AWS CodePipeline?
Se você está interessado em se tornar um parceiro da AWS, integrando seu serviço de desenvolvedor ao AWS CodePipeline, entre em contato com codepipeline-request@amazon.com.

Segurança

P: Posso usar o AWS Identity and Access Management (IAM) para gerenciar o acesso ao AWS CodePipeline?
Sim. O AWS CodePipeline é compatível com as permissões de serviço. Você pode especificar que usuário pode executar qual ação em um pipeline. Por exemplo, você pode conceder a um usuário acesso de somente leitura a um pipeline, caso queira que ele veja o status do pipeline, mas não possa modificá-lo. Também é possível definir permissões para qualquer etapa ou ação em um pipeline. Para obter mais informações sobre o uso do IAM com o AWS CodePipeline, consulte Como controlar o acesso usando políticas.

P: Posso habilitar o pipeline em uma conta da AWS para acesso por um usuário do IAM em outra conta da AWS?
Sim. Você pode criar uma função do IAM na conta da AWS proprietária do pipeline para delegar o acesso ao pipeline e a todos os recursos relacionados a um usuário do IAM em outra conta. Para obter uma explicação detalhada da ativação de um acesso entre contas, consulte Tutorial: Delegar acesso entre contas da AWS usando funções do IAM e Autenticação, controle de acesso e configuração de segurança para o AWS CodePipeline.

Regiões

P: Quais regiões são compatíveis com o AWS CodePipeline?
Consulte os produtos e serviços regionais para obter detalhes sobre a disponibilidade do CodePipeline por região.

Faturamento

P: Quanto custa o AWS CodePipeline?
Para obter detalhes sobre o custo do AWS CodePipeline, consulte a página de definição de preço.

Saiba mais sobre a definição de preço do AWS CodePipeline

Acesse a página de definição de preço