Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS CodeBuild Mit Jenkins verwenden
Sie können das Jenkins-Plugin verwenden, um es in Ihre AWS CodeBuild Jenkins-Build-Jobs zu integrieren CodeBuild . Anstatt Ihre Build-Jobs an Jenkins-Build-Knoten zu senden, verwenden Sie das Plugin, um Ihre Build-Jobs an zu senden. CodeBuild Sie müssen somit keine Jenkins-Build-Knoten bereitstellen, konfigurieren und verwalten.
Richten Sie Jenkins ein
Informationen zur Einrichtung von Jenkins mit dem AWS CodeBuild Plugin und zum Herunterladen des Plugin-Quellcodes finden Sie unter. https://github.com/awslabs/aws-codebuild-jenkins-plugin
Installieren des Plugins
Wenn Sie einen Jenkins-Server bereits eingerichtet haben und nur das Plugin für AWS CodeBuild installieren möchten, suchen Sie in Ihrer Jenkins-Instance im Plugin Manager nach CodeBuild Plugin for Jenkins
.
Verwenden Sie das Plugin
Zur Verwendung AWS CodeBuild mit Quellen von außerhalb eines VPC
-
Erstellen Sie ein Projekt in der CodeBuild Konsole. Weitere Informationen finden Sie unter Erstellen Sie ein Build-Projekt (Konsole).
Wählen Sie die AWS Region aus, in der Sie den Build ausführen möchten.
(Optional) Stellen Sie die VPC Amazon-Konfiguration so ein, dass der CodeBuild Build-Container auf Ressourcen in Ihrem zugreifen kannVPC.
Notieren Sie den Namen Ihres Projekts. Sie benötigen ihn in Schritt 3.
(Optional) Wenn Ihr Quell-Repository nicht nativ von unterstützt wird CodeBuild, können Sie Amazon S3 als Eingabequellentyp für Ihr Projekt festlegen.
-
Erstellen Sie im einen BenutzerIAMconsole, der vom Jenkins-Plugin verwendet werden soll.
Wählen Sie während der Erstellung der Anmeldeinformationen für den Benutzer Programmatic Access.
-
Erstellen Sie eine Richtlinie ähnlich der folgenden und fügen Sie die Richtlinie dem Benutzer an.
{ "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"] } ] }
-
Erstellen Sie in Jenkins ein Freestyle-Projekt.
Wählen Sie auf der Seite Konfigurieren die Option Build-Schritt hinzufügen und anschließend Build ausführen aus. CodeBuild
Konfigurieren Sie Ihren Build-Schritt.
Geben Sie für Region, Credentials und Project Name Werte an.
Wählen Sie Use Project source.
Speichern Sie die Konfiguration und führen Sie über Jenkins einen Build aus.
-
Wählen Sie in Source Code Management die Art des Abrufs Ihrer Quelle. Möglicherweise müssen Sie das GitHub Plugin (oder das Jenkins-Plugin für Ihren Quell-Repository-Anbieter) auf Ihrem Jenkins-Server installieren.
Wählen Sie auf der Seite Configure (Konfigurieren) die Option Add build step (Build-Schritt hinzufügen) und anschließend Run build on AWS CodeBuild(Build auf ACB ausführen).
Konfigurieren Sie Ihren Build-Schritt.
Geben Sie für Region, Credentials und Project Name Werte an.
Wählen Sie Use Jenkins source.
Speichern Sie die Konfiguration und führen Sie über Jenkins einen Build aus.
Um das Plugin mit dem AWS CodeBuild Jenkins-Pipeline-Plugin zu verwenden
-
Verwenden Sie auf Ihrer Jenkins-Pipeline-Projektseite den Snippet-Generator, um ein Pipeline-Skript zu generieren, das Ihrer Pipeline CodeBuild als Schritt hinzugefügt wird. Hierdurch sollte ein Skript generiert werden, das dem folgenden Skript ähnlich ist:
awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'