Usar o AWS CodeBuild com o Jenkins
É possível usar o plug-in do Jenkins para AWS CodeBuild para integrar o CodeBuild com os trabalhos de compilação do Jenkins. Em vez de enviar os trabalhos de compilação aos nós de compilação do Jenkins, use o plug-in para enviar os trabalhos de compilação ao CodeBuild. Isso elimina a necessidade de você provisionar, configurar e gerenciar nós de build do Jenkins.
Configurar o Jenkins
Para obter informações sobre como configurar o Jenkins com o plug-in AWS CodeBuild e baixar o código-fonte do plug-in, consulte https://github.com/awslabs/aws-codebuild-jenkins-plugin
Instalar o plug-in
Se você já tem um servidor do Jenkins configurado e quer apenas instalar o plug-in do AWS CodeBuild, em sua instância do Jenkins, no Gerenciador de plug-ins, procure o CodeBuild Plugin for Jenkins
.
Usar o plug-in
Como usar o AWS CodeBuild com fontes de fora de uma VPC
-
Crie um projeto no console do CodeBuild. Para obter mais informações, consulte Criar um projeto de compilação (console).
Selecione a região da AWS onde você deseja executar a compilação.
(Opcional) Defina a configuração da Amazon VPC para permitir que o contêiner de compilação do CodeBuild acesse recursos na VPC.
Anote o nome do projeto. Você vai precisar dele na etapa 3.
(Opcional) Se o repositório de origem não for nativamente compatível com o CodeBuild, defina o Amazon S3 como o tipo de origem de entrada do projeto.
-
No console do IAM, crie um usuário a ser usado pelo plug-in do Jenkins.
Ao criar credenciais para o usuário, selecione Programmatic Access (Acesso programático).
-
Crie uma política semelhante à seguinte e, em seguida, anexe-a ao usuário.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": ["arn:aws:logs:{{region}}:{{awsAccountId}}:log-group:/aws/codebuild/{{projectName}}:*"], "Action": ["logs:GetLogEvents"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}"], "Action": ["s3:GetBucketVersioning"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}/{{inputObject}}"], "Action": ["s3:PutObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{outputBucket}}/*"], "Action": ["s3:GetObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:codebuild:{{region}}:{{awsAccountId}}:project/{{projectName}}"], "Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects"] } ] }
-
Crie um projeto de estilo livre no Jenkins.
Na página Configurar, selecione Adicionar etapa de compilação e, depois, selecione Executar compilação no CodeBuild.
Configure a etapa de compilação.
Informe os valores de Região, Credenciais e Nome do projeto.
Selecione Use Project source (Usar origem do projeto).
Salve a configuração e execute uma compilação a partir do Jenkins.
-
Em Source Code Management (Gerenciamento do código de origem), selecione como deseja obter a origem. Você pode precisar instalar o plug-in do GitHub (ou o plug-in do Jenkins do seu provedor de repositório de origem) no servidor do Jenkins.
Na página Configure (Configurar), selecione Add build step (Adicionar etapa de compilação), depois selecione Run build on AWS CodeBuild (Executar compilação no &ACB;).
Configure a etapa de compilação.
Informe os valores de Região, Credenciais e Nome do projeto.
Selecione Use Jenkins source (Usar origem do Jenkins).
Salve a configuração e execute uma compilação a partir do Jenkins.
Como usar o plug-in do AWS CodeBuild com o plug-in de pipeline do Jenkins
-
Na página de projeto de pipeline do Jenkins, use o gerador de trecho para gerar um script de pipeline que adicione o CodeBuild como uma etapa no pipeline. Ele deve gerar um script semelhante a este:
awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'