AWS CodeBuild 搭配 Jenkins 使用 - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS CodeBuild 搭配 Jenkins 使用

您可以使用 的 Jenkins 外掛程式 AWS CodeBuild ,將 CodeBuild 與您的 Jenkins 建置任務整合。您可以使用 外掛程式將組建任務傳送至 CodeBuild,而不是將組建任務傳送至 Jenkins 組建節點。透過此方式,您便不需佈建、設定和管理 Jenkins 組建節點。

設定 Jenkins

如需使用 AWS CodeBuild 外掛程式設定 Jenkins 的資訊,以及下載外掛程式原始程式碼,請參閱 https://https://github.com/awslabs/aws-codebuild-jenkins-plugin

安裝外掛程式。

如果您已設定 Jenkins 伺服器,並且只想要安裝 AWS CodeBuild 外掛程式,則請在您的 Jenkins 執行個體上的 Plugin Manager 中搜尋 CodeBuild Plugin for Jenkins

使用 外掛程式

AWS CodeBuild 搭配 VPC 外部的來源使用
  1. 在 CodeBuild 主控台中建立專案。如需詳細資訊,請參閱建立組建專案 (主控台)

    • 選擇您要執行建置 AWS 的區域。

    • (選用) 設定 Amazon VPC 組態,以允許 CodeBuild 組建容器存取 VPC 中的資源。

    • 寫下專案的名稱。您在步驟 3 會用到。

    • (選用) 如果 CodeBuild 原生不支援您的來源儲存庫,您可以將 Amazon S3 設定為專案的輸入來源類型。

  2. 在 IAMconsole 中,建立 Jenkins 外掛程式要使用的使用者。

    • 建立使用者的登入資料時,請選擇 Programmatic Access (程式設計存取)

    • 建立類似以下的政策,然後將政策連接至您的使用者。

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": [ "arn:aws:logs:us-east-1:111122223333: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:111122223333:project/{{projectName}}" ], "Action": [ "codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects" ] } ] }
  3. 在 Jenkins 中建立自由形式專案。

    • 設定頁面上,選擇新增建置步驟,然後選擇在 CodeBuild 上執行建置

    • 設定組建步驟。

      • 提供 Region (區域)Credentials (登入資料)Project Name (專案名稱) 的值。

      • 選擇 Use Project source (使用專案來源)

      • 儲存組態,並從 Jenkins 執行組建。

  4. 針對 Source Code Management (來源碼管理),選擇要擷取來源的方式。您可能需要在 Jenkins 伺服器上安裝 GitHub 外掛程式 (或 Jenkins 外掛程式做為您的來源儲存庫提供者)。

    • 設定頁面上,選擇新增建置步驟,然後選擇執行建置。 AWS CodeBuild

    • 設定組建步驟。

      • 提供 Region (區域)Credentials (登入資料)Project Name (專案名稱) 的值。

      • 選擇 Use Jenkins source (使用 Jenkins 來源)

      • 儲存組態,並從 Jenkins 執行組建。

將 AWS CodeBuild 外掛程式與 Jenkins 管道外掛程式搭配使用
  • 在 Jenkins 管道專案頁面上,使用程式碼片段產生器來產生管道指令碼,將 CodeBuild 新增為管道中的步驟。它應該會產生類似以下的指令碼:

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