AWS CodeBuild
用户指南 (API 版本 2016-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 AWS CodeBuild 与 Jenkins 结合使用

借助适用于 AWS CodeBuild 的 Jenkins 插件,您能够将 CodeBuild 与您的 Jenkins 构建任务集成。您可以使用插件将您的构建作业发送给 CodeBuild,而不是发送给 Jenkins 构建节点。这样一来,便无需预置、配置和管理 Jenkins 构建节点。

设置 Jenkins

有关使用 AWS CodeBuild 插件设置 Jenkins 的信息,请参阅 AWS DevOps 博客上的使用 CodeBuild 简化 Jenkins 构建博客文章。您可以从 https://github.com/awslabs/aws-codebuild-jenkins-plugin 下载 CodeBuild Jenkins。

安装插件

如果您已设置 Jenkins 并希望仅安装 AWS CodeBuild 插件,请在您的 Jenkins 实例上的插件管理器中搜索“CodeBuild Plugin for Jenkins”。

使用插件

将 AWS CodeBuild 与 Amazon VPC 外部的源结合使用

  1. 在 CodeBuild 控制台中创建项目。有关更多信息,请参阅创建构建项目 (控制台)

    • 选择要在其中运行构建任务的区域。

    • (可选)将 Amazon VPC 配置设置为允许 CodeBuild 构建容器访问 Amazon VPC 中的资源。

    • 记下您的项目的名称。您在步骤 3 中需要它。

    • (可选)如果 CodeBuild 本机不支持您的源存储库,则可以将 Amazon S3 设置为您的项目的输入源类型。

  2. 在 IAM 控制台中,创建一个 IAM 用户以供 Jenkins 插件使用。

    • 当您为该用户创建凭证时,请选择编程访问

    • 创建如下所示的策略,然后将该策略附加到您的用户。

      { "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. 在 Jenkins 中创建一个自由式项目。

    • Configure (配置) 页面上,选择 Add build step (添加构建步骤),然后选择 Run build on CodeBuild (在 AWS CodeBuild 上运行构建)

    • 配置您的构建步骤。

      • Region (区域)、Credentials (凭证) 和 Project Name (项目名称) 提供值。

      • 选择 Use Project source (使用项目源)。

      • 保存配置并从 Jenkins 运行构建任务。

  4. 对于 Source Code Management (源代码管理),选择您希望如何检索您的源。您可能需要在 Jenkins 服务器上安装 GitHub 插件 (或您的源存储库提供商的 Jenkins 插件)。

    • Configure (配置) 页面上,选择 Add build step (添加构建步骤),然后选择 Run build on AWS CodeBuild (在 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'