Uso AWS CodeBuild con Jenkins - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Uso AWS CodeBuild con Jenkins

Puoi usare il plugin Jenkins per l'integrazione CodeBuild con i tuoi job AWS CodeBuild di build Jenkins. Invece di inviare i lavori di compilazione ai nodi di compilazione di Jenkins, usi il plug-in per inviare i lavori di compilazione a. CodeBuild In questo modo non è necessario eseguire il provisioning, configurare e gestire nodi di compilazione Jenkins.

Configura Jenkins

Per informazioni sulla configurazione di Jenkins con il AWS CodeBuild plugin e per scaricare il codice sorgente del plugin, consulta. https://github.com/awslabs/aws-codebuild-jenkins-plugin

Installazione del plug-in

Se hai già un server Jenkins impostato e vuoi solo installare il plugin AWS CodeBuild , accedi alla tua istanza Jenkins e quindi, nel Plugin Manager, cerca CodeBuild Plugin for Jenkins.

Usa il plugin

Da utilizzare AWS CodeBuild con fonti esterne a VPC
  1. Crea un progetto nella CodeBuild console. Per ulteriori informazioni, consulta Creare un progetto di compilazione (console).

    • Scegli la AWS regione in cui desideri eseguire la build.

    • (Facoltativo) Imposta la VPC configurazione Amazon per consentire al contenitore di CodeBuild compilazione di accedere alle risorse del tuoVPC.

    • Annotare il nome del progetto. Servirà nella fase 3.

    • (Facoltativo) Se il tuo repository di origine non è supportato nativamente da CodeBuild, puoi impostare Amazon S3 come tipo di sorgente di input per il tuo progetto.

  2. InIAMconsole, crea un utente da utilizzare con il plug-in Jenkins.

    • Durante la creazione delle credenziali per l'utente, selezionare Programmatic Access (Accesso programmatico).

    • Creare una policy simile alla seguente, quindi collegarla all'utente.

      { "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. Creare un progetto freestyle in Jenkins.

    • Nella pagina Configura, scegli Aggiungi fase di compilazione, quindi scegli Esegui build on CodeBuild.

    • Configurare la fase di compilazione.

      • Fornire valori per Region (Regione), Credentials (Credenziali) e Project Name (Nome progetto).

      • Selezionare Use Project source (Utilizza origine progetto).

      • Salvare la configurazione ed eseguire una compilazione da Jenkins.

  4. In Source Code Management (Gestione codice di origine), selezionare la modalità di recupero dell'origine. Potrebbe essere necessario installare il GitHub plug-in (o il plug-in Jenkins per il provider di repository di origine) sul server Jenkins.

    • Nella pagina Configura, scegli Aggiungi fase di compilazione, quindi scegli Esegui build on. AWS CodeBuild

    • Configurare la fase di compilazione.

      • Fornire valori per Region (Regione), Credentials (Credenziali) e Project Name (Nome progetto).

      • Selezionare Use Jenkins source (Utilizza origine Jenkins).

      • Salvare la configurazione ed eseguire una compilazione da Jenkins.

Per utilizzare il AWS CodeBuild plug-in con il plug-in Jenkins pipeline
  • Nella pagina del progetto della pipeline Jenkins, usa il generatore di snippet per generare uno script di pipeline da aggiungere CodeBuild come passaggio alla pipeline. Lo script generato dovrebbe essere simile al seguente:

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