Úselo AWS CodeBuild con Jenkins - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo AWS CodeBuild con Jenkins

Puedes usar el complemento de Jenkins para AWS CodeBuild integrarlo CodeBuild con tus trabajos de compilación de Jenkins. En lugar de enviar tus trabajos de compilación a los nodos de compilación de Jenkins, utilizas el complemento para enviar tus trabajos de compilación a. CodeBuild De esta manera, ya no tendrá que aprovisionar, configurar ni administrar nodos de compilación de Jenkins.

Configura Jenkins

Para obtener información sobre cómo configurar Jenkins con el AWS CodeBuild complemento y descargar el código fuente del complemento, consulte. https://github.com/awslabs/aws-codebuild-jenkins-plugin

Instalación del complemento

Si ya ha configurado el servidor de Jenkins y solo desea instalar el complemento de AWS CodeBuild , en su instancia de Jenkins, en el administrador de complementos, busque CodeBuild Plugin for Jenkins.

Usa el complemento

Para usar AWS CodeBuild con fuentes ajenas a VPC
  1. Crea un proyecto en la CodeBuild consola. Para obtener más información, consulte Creación de un proyecto de compilación (consola).

    • Elige la AWS región en la que quieres ejecutar la compilación.

    • (Opcional) Establezca la VPC configuración de Amazon para permitir que el contenedor de CodeBuild compilación acceda a los recursos de suVPC.

    • Anote el nombre de su proyecto. Lo necesitará en el paso 3.

    • (Opcional) Si su repositorio de origen no es compatible de forma nativa CodeBuild, puede configurar Amazon S3 como el tipo de fuente de entrada para su proyecto.

  2. EnIAMconsole, cree un usuario para que lo utilice el complemento de Jenkins.

    • Cuando cree las credenciales del usuario, elija Programmatic Access.

    • Cree una política similar a la siguiente y, a continuación, asocie la política al usuario.

      { "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"] } ] }
  3. Cree un proyecto de estilo libre en Jenkins.

    • En la página de configuración, selecciona Añadir paso de compilación y, a continuación, selecciona Ejecutar compilación. CodeBuild

    • Configure el paso de compilación.

      • Proporcione valores para Region, Credentials y Project Name.

      • Elija Use Project source.

      • Guarde la configuración y ejecute una compilación desde Jenkins.

  4. En Source Code Management, elija cómo desea recuperar el origen. Puede que tengas que instalar el GitHub complemento (o el complemento de Jenkins para tu proveedor de repositorios de código fuente) en tu servidor Jenkins.

    • En la página Configure, elija Add build step y después Run build on AWS CodeBuild.

    • Configure el paso de compilación.

      • Proporcione valores para Region, Credentials y Project Name.

      • Elija Use Jenkins source.

      • Guarde la configuración y ejecute una compilación desde Jenkins.

Para usar el AWS CodeBuild complemento con el complemento Jenkins Pipeline
  • En la página de tu proyecto de canalización de Jenkins, usa el generador de fragmentos para generar un script de canalización que se añada CodeBuild como paso a tu canalización. Debe generar un script similar a este:

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