本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeBuild 搭配 Jenkins 使用
您可以使用 的 Jenkins 外掛程式 CodeBuild ,與您的 Jenkins 建置任務 AWS CodeBuild 整合。您不是將建置任務傳送至 Jenkins 建置節點,而是使用 外掛程式將建置任務傳送至 CodeBuild。透過此方式,您便不需佈建、設定和管理 Jenkins 組建節點。
設定 Jenkins
如需使用 AWS CodeBuild 外掛程式設定 Jenkins 的資訊,以及下載外掛程式原始程式碼,請參閱 https://github.com/awslabs/aws-codebuild-jenkins-plugin
安裝外掛程式。
如果您已設定 Jenkins 伺服器,並且只想要安裝 AWS CodeBuild 外掛程式,則請在您的 Jenkins 執行個體上的 Plugin Manager 中搜尋 CodeBuild Plugin for Jenkins
。
使用 外掛程式
若要 AWS CodeBuild 搭配來自 外部的來源使用 VPC
-
在 CodeBuild 主控台中建立專案。如需詳細資訊,請參閱建立組建專案 (主控台)。
選擇您要執行建置 AWS 的區域。
(選用) 設定 Amazon VPC組態,以允許 CodeBuild 建置容器存取 中的資源VPC。
寫下專案的名稱。您在步驟 3 會用到。
(選用) 如果您的來源儲存庫原生不受 支援 CodeBuild,您可以將 Amazon S3 設定為專案的輸入來源類型。
-
在 中IAMconsole,建立 Jenkins 外掛程式要使用的使用者。
建立使用者的登入資料時,請選擇 Programmatic Access (程式設計存取)。
-
建立類似以下的政策,然後將政策連接至您的使用者。
{ "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"] } ] }
-
在 Jenkins 中建立自由形式專案。
在設定頁面上,選擇新增建置步驟 ,然後選擇在 上執行建置 CodeBuild。
設定組建步驟。
提供 Region (區域)、Credentials (登入資料) 和 Project Name (專案名稱) 的值。
選擇 Use Project source (使用專案來源)。
儲存組態,並從 Jenkins 執行組建。
-
針對 Source Code Management (來源碼管理),選擇要擷取來源的方式。您可能需要在 Jenkins 伺服器上安裝 GitHub 外掛程式 (或來源儲存庫提供者的 Jenkins 外掛程式)。
在設定頁面上,選擇新增建置步驟 ,然後選擇在 上執行建置 AWS CodeBuild。
設定組建步驟。
提供 Region (區域)、Credentials (登入資料) 和 Project Name (專案名稱) 的值。
選擇 Use Jenkins source (使用 Jenkins 來源)。
儲存組態,並從 Jenkins 執行組建。
若要搭配 Jenkins 管道 AWS CodeBuild 外掛程式使用外掛程式
-
在 Jenkins 管道專案頁面上,使用程式碼片段產生器來產生管道指令碼,以新增 CodeBuild 作為管道中的步驟。它應該會產生類似以下的指令碼:
awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'