- Ferramentas do desenvolvedor›
- AWS CodeBuild›
- Perguntas frequentes
Perguntas frequentes do AWS CodeBuild
Geral
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ê só paga pelo minuto.
Quais são as vantagens de 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 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.
Quais são os preços associados ao CodeBuild?
Consulte a página de preços do AWS CodeBuild para obter mais detalhes.
É possível usar o CodeBuild para automatizar o processo de lançamento?
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
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 build é a combinação de sistema operacional, runtime da linguagem de programação e ferramentas usadas pelo CodeBuild para rodar um build.
Qual é o procedimento para configurar 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 do build em um arquivo buildspec.yml.
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.
Quais são as estruturas de programaçã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 no seu projeto de build.
Quais runtimes de compilação configurados previamente para o Windows são fornecidos pelo CodeBuild?
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 que acontece durante a execução de uma compilação?
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.
Qual é o procedimento para configurar minha primeira compilação?
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.
É possível usar o CodeBuild com o Jenkins?
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.
Qual é o procedimento para 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 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.
Qual é o procedimento para depurar uma falha em uma compilação anterior?
É 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.
Qual é a razão para a instância build.general1.small não ser compatível com o .NET Core em ambientes de compilação do 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 build do .NET Core para Windows.
Qual é o procedimento para configurar notificações ou alertas para eventos no AWS CodeBuild?
É 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
É possível 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.
De que forma o CodeBuild garante o isolamento das compilações pertencentes a diferentes 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.
É possível usar o AWS Identity and Access Management (IAM) para gerenciar o acesso ao CodeBuild?
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
Quais são as regiões com suporte por parte do CodeBuild?
Consulte Produtos e serviços regionais para obter detalhes.