O AWS CodePipeline é um serviço de integração contínua e entrega contínua para atualizações rápidas e confiáveis de aplicativos e infraestruturas. Você pode usar o CodePipeline para modelar e automatizar totalmente os processos de liberação de software.
Modelagem de fluxo de trabalho
Um pipeline define o fluxo de trabalho do seu processo de liberação e descreve como uma nova mudança de código passa por esse processo de liberação. Um pipeline consiste em uma série de etapas (por exemplo, criação, teste e implantação) que atuam como divisões lógicas do fluxo de trabalho. Cada etapa é composta de uma sequência de ações, que são tarefas como criação de código ou implantação em ambientes de teste. O AWS CodePipeline oferece uma interface de usuário gráfica para criar, configurar e gerenciar o pipeline e suas diversas etapas e ações, permitindo visualizar e modelar facilmente o fluxo de trabalho do processo de liberação.
Execução em paralelo
Você pode usar o CodePipeline para modelar a execução em paralelo das ações de criação, teste e implantação, o que acelera o fluxo de trabalho.
Integrações com a AWS
O AWS CodePipeline pode extrair código-fonte para o pipeline diretamente do AWS CodeCommit, do GitHub, do Amazon ECR ou do Amazon S3. O serviço pode executar compilações e testes de unidade no AWS CodeBuild. O CodePipeline pode implantar alterações usando os serviços AWS CodeDeploy, AWS Elastic Beanstalk, Amazon Elastic Container Service (Amazon ECS) ou AWS Fargate.
É possível modelar ações do AWS CloudFormation que permitem provisionar, atualizar ou excluir recursos da AWS como parte do processo de liberação. Isso também permite a entrega contínua de aplicativos sem servidor criados usando o AWS Lambda, o Amazon API Gateway e o Amazon DynamoDB com o AWS Serverless Application Model (AWS SAM).
Também é possível acionar funções personalizadas definidas por código em qualquer fase do pipeline usando a integração do CodePipeline com o AWS Lambda. Por exemplo, você pode acionar uma função do Lambda que testa se o aplicativo web foi implantado corretamente.
O CodePipeline permite configurar um pipeline que reúne esses serviços com ferramentas de desenvolvedor de terceiros e sistemas personalizados.
Plug-ins predefinidos
O AWS CodePipeline permite integrar com um único clique ferramentas de desenvolvedor de terceiros, como GitHub ou Jenkins, a qualquer etapa do processo de liberação. Você pode usar ferramentas de terceiros para controle de fonte, criação, teste ou implantação. Saiba mais sobre nossas integrações aqui.
Plug-ins personalizados
O AWS CodePipeline permite integrar seus próprios sistemas personalizados. Você pode registrar uma ação personalizada que permite conectar servidores ao pipeline, integrando o agente do CodePipeline de código aberto com seus servidores. Também é possível usar o plug-in Jenkins do CodePipeline para registrar facilmente servidores de criação existentes como uma ação personalizada.
Modelos declarativos
O AWS CodePipeline permite definir a estrutura do pipeline por meio de um documento JSON declarativo que especifica o fluxo de trabalho de liberação e suas etapas e ações. Além de possibilitar a atualização de pipelines existentes, esses documentos oferecem modelos iniciais para a criação de novos pipelines.
Controle de acesso
O AWS CodePipeline usa o AWS IAM para gerenciar quem pode alterar o fluxo de trabalho de liberação, bem como quem pode controlá-lo. Você pode conceder acesso a usuários por meio de usuários do IAM, funções do IAM e diretórios integrados ao SAML.
Receber notificações
É 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.
Saiba mais sobre a definição de preço do AWS CodePipeline