Perguntas frequentes do AWS CodeBuild

Geral

O AWS CodeBuild é um serviço totalmente gerenciado de integração contínua na nuvem. O CodeBuild compila o código-fonte, executa testes e produz pacotes prontos para implantação. O CodeBuild elimina a necessidade de provisionar, gerenciar e escalar seus próprios servidores de compilação. O CodeBuild aumenta e diminui automaticamente a escala e processa múltiplas compilações paralelamente, de modo que elas não precisem aguardar em uma fila. Você pode começar a usar o CodeBuild rapidamente com ambientes de compilação predefinidos ou usar ambientes de compilação personalizados com suas próprias ferramentas de compilação. Com o CodeBuild, você só paga pelo minuto.

Em vez de precisar configurar, aplicar patches e manter o software do servidor de compilação por conta própria, você pode usar a experiência totalmente gerenciada do CodeBuild. Você envia seus trabalhos de compilação para o CodeBuild, que os executa em contêineres computacionais temporários que são criados a partir do zero a cada compilação e descartados quando a operação é concluída. Você não precisa gerenciar hardware ou software do servidor de compilação. O CodeBuild também ajusta a escala automaticamente de acordo com seu volume de compilação. Ele imediatamente processa cada build enviado e pode executar builds separados ao mesmo tempo, o que significa que seus builds nunca ficarão aguardando em uma fila.

Consulte a página de preços do AWS CodeBuild para obter mais detalhes.

Sim. O CodeBuild é integrado ao AWS CodePipeline. Você pode adicionar uma ação de compilação e configurar um processo de integração contínua e de entrega contínua que é executado na nuvem. É possível saber mais informações sobre como configurar e monitorar as compilações no console do CodePipeline ao acessar aqui.

Usando o CodeBuild

Um projeto de compilação é usado para definir como o CodeBuild executará uma compilação. Ele inclui informações como onde obter o código-fonte, qual ambiente de compilação usar, os comandos de compilação a serem executados e onde armazenar o resultado da compilação. Um ambiente de build é a combinação de sistema operacional, runtime da linguagem de programação e ferramentas usadas pelo CodeBuild para rodar um build.

Um projeto de compilação pode ser configurado por meio do console ou da AWS CLI. Você especifica o local do repositório de origem, o ambiente do tempo de execução, os comandos da compilação, a função do IAM assumida pelo contêiner e a classe computacional necessária para executar a compilação. Opcionalmente, você pode especificar os comandos do build em um arquivo buildspec.yml.

O CodeBuild é capaz de estabelecer conexão com AWS CodeCommit, S3, GitHub, GitHub Enterprise e Bitbucket para obter o código-fonte de compilações.

O CodeBuild fornece ambientes pré-configurados para versões compatíveis de Java, Ruby, Python, Go, Node.js, Android, .NET Core, PHP e Docker. Você também pode personalizar seu próprio ambiente ao criar uma imagem de Docker e atualizá-la no Amazon EC2 Container Registry ou no registro do Docker Hub. Você pode fazer referência a essa imagem personalizada no seu projeto de build.

O CodeBuild oferece um ambiente de compilação Windows pré-configurado para .NET Core 2.0. Gostaríamos de fornecer um ambiente de compilação pré-configurado para clientes do Microsoft .NET Framework, muitos dos quais já têm uma licença para usar as bibliotecas exclusivas da Microsoft. No entanto, a Microsoft não tem demonstrado disposição para trabalhar conosco a fim de atender a essas solicitações de clientes no momento. Você mesmo pode personalizar seu ambiente para dar suporte a outros destinos de compilação, como o .NET Framework, criando uma imagem de Docker e carregando-a no Amazon EC2 Container Registry ou no registro do Hub do Docker. Você pode fazer referência a essa imagem personalizada no seu projeto de build.

O CodeBuild vai criar um contêiner computacional temporário da classe definida no projeto de compilação, carregá-lo com o ambiente de tempo de execução especificado, baixar o código-fonte, executar os comandos configurados no projeto, carregar o artefato gerado em um bucket do S3 e, por fim, destruir o contêiner computacional. Durante a compilação, o CodeBuild distribuirá o resultado da compilação para o console de serviço e para o Amazon CloudWatch.

Faça login no Console de Gerenciamento da AWS, crie um projeto de compilação e, em seguida, execute uma compilação. Para obter uma introdução ao CodeBuild, consulte Getting Started, que inclui um tutorial passo a passo. Além disso, é possível usar o CodeBuild Local para testar e depurar a compilação localmente.

Sim. O plug-in do CodeBuild para Jenkins pode ser usado para integrar o CodeBuild em trabalhos do Jenkins. Os trabalhos de build são enviados ao CodeBuild, eliminando a necessidade de provisionamento e gerenciamento dos nós de operador do Jenkins.

Você pode acessar os resultados de compilações anteriores usando o console, o CloudWatch ou a API. Os resultados incluem desfecho (sucesso ou falha), duração do build, local do artefato de saída e local do log. Com o painel do CodeBuild, você pode visualizar métricas para compreender o comportamento da compilação ao longo do tempo. O painel exibe o número de compilações tentadas, bem-sucedidas e com falha, bem como a duração da compilação. Você também pode visitar o console do CloudWatch para ver métricas mais detalhadas do build. Para saber mais sobre o monitoramento do CodeBuild com o CloudWatch, acesse nossa documentação.

É possível depurar uma compilação ao inspecionar os logs detalhados gerados durante a execução da compilação ou ao usar o CodeBuild Local para testar e depurar as compilações localmente.

O ambiente de compilação do .NET Core para Windows requer mais memória e poder de processamento do que os recursos disponíveis no tipo de instância de computação build.general1.small devido ao tamanho do contêiner base do Windows Docker e das bibliotecas adicionais. Devido a essa limitação, não há nível gratuito para o ambiente de build do .NET Core para Windows.

É 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 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 mais informações sobre como começar a usar as notificações, consulte o guia do usuário sobre notificações. Além disso, os clientes que usam o AWS Chatbot podem configurar notificações para serem enviadas aos seus canais do Slack ou às salas de chat do Amazon Chime. Para obter mais detalhes, acesse aqui.

Segurança

Sim. Você pode especificar uma chave armazenada no AWS Key Management Service (AWS KMS) para criptografar seus artefatos.

O CodeBuild roda sua compilação em ambientes novos isolados de outros usuários e descarta cada um desses ambientes mediante a conclusão do processo. O CodeBuild cria segurança e separação nos níveis de infraestrutura e execução.

Sim. Você pode controlar o acesso aos seus projetos de build por meio de permissões em nível de recurso das políticas do IAM.

Regiões

Consulte Produtos e serviços regionais para obter detalhes.