Recursos do AWS CodeBuild

Por que o AWS CodeBuild?

O AWS CodeBuild é um serviço totalmente gerenciado de integração contínua. Basta especificar a localização do código de origem, escolher as configurações de criação e o CodeBuild executará scripts para compilar, testar e empacotar código. Não é necessário provisionar e escalar servidores, nem instalar, configurar e operar software.

Crie e teste seu código

O CodeBuild executa as compilações em ambientes de compilação configurados previamente que contêm o sistema operacional, o runtime da linguagem de programação e as ferramentas de compilação (por exemplo, Apache Maven, Gradle e npm) necessárias para a conclusão da tarefa. Basta especificar a localização do código-fonte e selecionar configurações para a criação, como o ambiente de criação para usar e os comandos de criação para executar durante uma criação. O AWS CodeBuild cria o código e armazena os artefatos em um bucket do Amazon S3 ou é possível usar um comando de criação para fazer o upload deles em um repositório de artefatos. É possível criar, gerenciar e iniciar projetos de compilação usando o AWS CodePipeline, o Console de Gerenciamento da AWS, a AWS CLI ou os SDKs.

O AWS CodeBuild disponibiliza ambientes de compilação para Java, Python, Node.js, Ruby, Go, Android, NET Core for Linux e Docker.

Consulte uma lista completa de ambientes de compilação configurados previamente

É possível trazer seus próprios ambientes de criação para usá-los no AWS CodeBuild, como para o Microsoft .NET Framework. Você pode empacotar o runtime e as ferramentas para a compilação em uma imagem do Docker e enviá-la para um repositório público do Docker Hub ou do Amazon Elastic Container Registry (Amazon ECR). Ao criar um novo projeto de criação, será possível especificar a localização da imagem de docker. O CodeBuild extrairá a imagem e a usará como a configuração do projeto de criação. 

Configurações que podem ser alteradas

Você pode definir os comandos específicos que deseja que o CodeBuild execute, como a instalação de pacotes de ferramentas de compilação, a execução de testes unitários e o empacotamento do código. A especificação da compilação é um arquivo no formato YAML que permite a seleção dos comandos a serem executados em cada fase da compilação, em conjunto com outras configurações. O CodeBuild ajuda você a começar a trabalhar rapidamente com arquivos de amostra da especificação da compilação para cenários comuns, como compilações que usam Apache Maven, Gradle ou npm.

Consulte os arquivos de amostra da especificação da compilação

É possível selecionar o tipo de computação mais indicado para as suas necessidades de desenvolvimento. É possível escolher entre três níveis de capacidade computacional que variam de acordo com a quantidade de CPU e memória. Isso possibilita a seleção de uma capacidade de computação de CPU e de memória mais elevada, caso você deseje que as compilações sejam concluídas mais rapidamente ou caso elas precisem de um nível mínimo de CPU e de memória para serem concluídas.  O CodeBuild tem suporte para os sistemas operacionais Linux e Windows.

Você pode iniciar compilações com o CodeBuild de várias maneiras. Por exemplo, você pode iniciar compilações no CodeBuild após se conectar ao AWS CodeCommit, ao GitHub, ao GitHub Enterprise, ao Bitbucket ou ao Amazon Simple Storage Service (Amazon S3). Também é possível conectar-se ao CodeBuild e ao repositório de origem usando o AWS CodePipeline, que inicia automaticamente uma criação toda vez que uma alteração for confirmada.

Geral

A disponibilidade de recursos de computação sob demanda e o preço conforme o uso no CodeBuild permitem que você compile e integre o código com mais frequência, auxiliando na identificação e na correção de bugs precocemente no processo de desenvolvimento, quando são mais fáceis de corrigir. Você pode integrar o CodeBuild ao seu fluxo de trabalho existente de integração contínua e entrega contínua (CI/CD) usando as integrações de origem, os comandos de compilação ou a integração com o Jenkins. Além disso, o CodeBuild faz parte de uma família de serviços de código da AWS que auxiliam na prática de CI/CD. É possível conectar o CodeBuild ao CodePipeline, que automatiza a compilação e o teste de código no CodeBuild sempre que você faz a confirmação de uma alteração no seu repositório de origem. Você pode criar esse fluxo de trabalho de CI ao usar o assistente do CodePipeline para conectar seu repositório de origem e, em seguida, ao selecionar o CodeBuild como o provedor de compilação.

É possível ampliar o fluxo de trabalho de integração contínua para a entrega contínua com facilidade usando o CodePipeline ao integrar ferramentas de teste de carga ou de interface do usuário de entidades externas (por exemplo, BlazeMeter ou Ghost Inspector) que são acionadas após a conclusão da compilação no CodeBuild. Em seguida, é possível realizar a implantação em suas instâncias ou servidores on-premises usando serviços integrados ao CodePipeline, como o AWS CodeDeploy e o AWS Elastic Beanstalk.

Os artefatos gerados durante a compilação são criptografados com chaves específicas do cliente, que são gerenciadas pelo AWS Key Management Service (AWS KMS). O CodeBuild é integrado ao AWS Identity and Access Management, possibilitando a definição de controles granulares em relação a quais usuários e recursos da AWS poderão acessar as compilações.

É possível usar o console do CodeBuild, a AWS Command Line Interface (AWS CLI), os SDKs e as APIs, ou o Amazon CloudWatch para visualizar informações detalhadas sobre as compilações. O CodeBuild fornece informações como o horário de início e o horário de término, o status e o ID de confirmação da compilação. Além disso, o CodeBuild envia métricas e logs do build para o CloudWatch. Você pode usar o CloudWatch para criar um painel personalizado, definir um alarme do Amazon CloudWatch, solucionar problemas relacionados à compilação ou inspecionar os logs da compilação.

É possível criar notificações para eventos que afetem seus projetos de compilação. As notificações serão enviadas na forma de notificações do Amazon Simple Notification Service (Amazon SNS). Todas as notificações incluem uma mensagem de status e um link para os recursos que foram impactados pelo evento que gerou a notificação.