Geral

P: O que é o AWS CodeBuild?

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ê paga apenas pelos minutos usados.

P: Por que devo usar o CodeBuild?

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 processa imediatamente cada compilação enviada e pode executar compilações distintas paralelamente, o que significa que elas nunca ficam esperando em uma fila.

P: Qual é a definição de preço do CodeBuild?

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

P: Posso usar o CodeBuild para automatizar o meu processo de release?

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. Você pode aprender a configurar e monitorar suas compilações a partir do console do CodePipeline aqui.

Usando o CodeBuild

P: O que é um projeto de compilação?

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 compilação é a combinação de sistema operacional, tempo de execução da linguagem de programação e ferramentas usadas pelo CodeBuild para executar uma compilação.

P: Como configuro um projeto de compilação?

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 de compilação em um arquivo buildspec.yml.

P: Quais repositórios de origem são compatíveis com o CodeBuild?

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.

P: Quais estruturas de programação são compatíveis com o CodeBuild?

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 em seu projeto de compilação.

P: Quais tempos de execução de compilação pré-configurados do Windows o CodeBuild oferece?

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 em seu projeto de compilação.

P: O que acontece quando uma compilação é executada?

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.

P: Como configuro minha primeira compilação?

Faça login no Console de Gerenciamento da AWS, crie um projeto de compilação e execute uma compilação. Para uma introdução ao CodeBuild, consulte Conceitos básicos, que inclui um tutorial passo a passo. Também é possível usar o CodeBuild Local para testar e depurar sua compilação localmente.

P: Posso usar o CodeBuild com o Jenkins?

Sim. O CodeBuild Plugin for Jenkins pode ser usado para integrar o CodeBuild a trabalhos do Jenkins. Os trabalhos de compilação são enviados para o CodeBuild, eliminando a necessidade de provisionamento e gerenciamento dos nós de operador do Jenkins.

P: Como posso visualizar os resultados de compilações anteriores?

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 da compilação, 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 acessar o console do CloudWatch para visualizar métricas mais detalhadas da compilação. Para saber mais sobre o monitoramento do CodeBuild com o CloudWatch, acesse nossa documentação.

P: Como depuro uma falha em uma compilação anterior?

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

P: Por que o build.general1.small não é compatível com ambientes de compilação do .NET Core para Windows?

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 compilação do .NET Core para Windows.

P: Como recebo notificações ou alertas para qualquer evento no AWS CodeBuild?

É possível criar notificações para eventos que afetem seus projetos de compilação. 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.

Segurança

P: Posso criptografar os artefatos de compilação armazenados pelo CodeBuild?

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

P: Como o CodeBuild isola compilações que pertencem a outros clientes?

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.

P: Posso usar o AWS Identity and Access Management (IAM) para gerenciar o acesso ao CodeBuild?

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

Regiões

P: Quais regiões são compatíveis com o CodeBuild?

Consulte Produtos e serviços regionais para obter detalhes.

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

Acesse a página de definição de preço
Pronto para compilar?
Comece a usar o AWS CodeBuild
Tem outras dúvidas?
Entre em contato conosco