Use AWS CodeBuild com Jenkins - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use AWS CodeBuild com Jenkins

Você pode usar o plug-in Jenkins para AWS CodeBuild fazer a integração CodeBuild com seus trabalhos de construção do Jenkins. Em vez de você enviar seus trabalhos de build para os nós de build do Jenkins, o plugin envia os trabalhos para o 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 AWS CodeBuild plug-in 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

Para usar AWS CodeBuild com fontes de fora de uma VPC
  1. Crie um projeto no CodeBuild console. Para obter mais informações, consulte Criar um projeto de compilação (console).

    • Escolha a AWS região em que você deseja executar a compilação.

    • (Opcional) Defina a configuração da Amazon VPC para permitir que o contêiner de CodeBuild compilação acesse recursos em sua VPC.

    • Anote o nome do projeto. Você vai precisar dele na etapa 3.

    • (Opcional) Se seu repositório de origem não for suportado nativamente pelo CodeBuild, você pode definir o Amazon S3 como o tipo de fonte de entrada para seu projeto.

  2. No IAMconsole, crie um usuário para ser usado pelo plug-in 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.

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": [ "arn:aws:logs:us-east-1:{{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:us-east-1:{{awsAccountId}}:project/{{projectName}}" ], "Action": [ "codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects" ] } ] }
  3. Crie um projeto de estilo livre no Jenkins.

    • Na página Configure (Configurar), selecione Add build step (Adicionar etapa de compilação), depois selecione Run build on 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 Project source (Usar origem do projeto).

      • Salve a configuração e execute uma compilação a partir do Jenkins.

  4. Em Source Code Management (Gerenciamento do código de origem), selecione como deseja obter a origem. Talvez seja necessário instalar o GitHub plug-in (ou o plug-in Jenkins para seu provedor de repositório de origem) no seu servidor 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.

Para usar o AWS CodeBuild plug-in com o plug-in Jenkins pipeline
  • Na página do projeto do pipeline do Jenkins, use o gerador de trechos para gerar um script de pipeline que é adicionado CodeBuild como uma etapa em seu pipeline. Ele deve gerar um script semelhante a este:

    awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'