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

使用 CodeBuild 的源版本示例

此示例演示如何使用提交 ID 以外的格式(也称为提交 SHA)指定源的版本。您可以通过以下方式指定源的版本:

  • 对于 Amazon S3 源提供程序,请使用表示构建输入 ZIP 文件的对象的版本 ID。

  • 对于 CodeCommit、Bitbucket、GitHub 和 GitHub Enterprise,请使用下列项之一:

    • 拉取请求作为拉取请求参考(例如,refs/pull/1/head)。

    • 分支作为分支名称。

    • 提交 ID。

    • 标签。

    • 参考和提交 ID。参考可以是下列项之一:

      • 标签(例如,refs/tags/mytagv1.0^{full-commit-SHA})。

      • 分支(例如,refs/heads/mydevbranch^{full-commit-SHA})。

      • 拉取请求(例如,refs/pull/1/head^{full-commit-SHA})。

注意

仅在存储库为 GitHub 或 GitHub Enterprise 时可指定拉取请求源的版本。

如果使用参考和提交 ID 指定版本,则构建的 DOWNLOAD_SOURCE 阶段比仅指定版本时更快。这是因为,在添加参考时,CodeBuild 不需要下载整个存储库来查找提交。

  • 可以仅使用提交 ID 指定源版本,例如 12345678901234567890123467890123456789。如果您执行此操作,则 CodeBuild 必须下载整个存储库来查找版本。

  • 您可以按此格式使用参考和提交 ID 指定源版本:refs/heads/branchname^{full-commit-SHA}(例如 refs/heads/master^{12345678901234567890123467890123456789})。如果您执行此操作,则 CodeBuild 仅下载指定的分支来查找版本。

注意

要加快构建的 DOWNLOAD_SOURCE 阶段,您也可以将 Git clone depth (Git 克隆深度) 设置为较小数字。CodeBuild 使用较小的 Git 克隆深度来下载较少版本的存储库。

使用提交 ID 指定 GitHub 存储库版本

  1. Open the AWS CodeBuild console at https://console.amazonaws.cn/codesuite/codebuild/home.

  2. 创建构建项目。有关信息,请参阅 创建构建项目 (控制台)运行构建项目 (控制台)。除这些设置以外,将所有设置保留为默认值:

    • Source (源) 中:

      • 对于 Source provider (源提供商),选择 GitHub。如果未连接到 GitHub,请按照说明操作以进行连接。

      • 对于 Repository (存储库),选择 Public repository (公有存储库)

      • 对于 Repository URL (存储库 URL),输入 https://github.com/aws/aws-sdk-ruby.git

    • Environment (环境) 中:

      • 对于 Environment image (环境映像),选择 Managed image (托管映像)

      • 对于 Operating system (操作系统),选择 Amazon Linux 2

      • 对于 Runtime(s) (运行时),选择 Standard (标准)

      • 对于 Image (映像),选择 aws/codebuild/amazonlinux2-x86_64-standard:1.0

  3. 对于 Build specifications (构建规范),选择 Insert build commands (插入构建命令),然后选择 Switch to editor (切换到编辑器)

  4. Build commands (构建命令) 中,将占位符文本替换为以下内容:

    version: 0.2 phases: install: runtime-versions: ruby: 2.6 build: commands: - echo $CODEBUILD_RESOLVED_SOURCE_VERSION

    在使用 Ubuntu 标准映像 2.0 时需要 runtime-versions 部分。这里指定了 Ruby 版本 2.6 运行时,但您可以使用任何运行时。echo 命令显示存储在 CODEBUILD_RESOLVED_SOURCE_VERSION 环境变量中的源代码的版本。

  5. Build configuration (构建配置) 上,接受默认值,然后选择 Start build (开始构建)

  6. 对于 Source version (源版本),请输入 046e8b67481d53bdc86c3f6affdd5d1afae6d369。这是 https://github.com/aws/aws-sdk-ruby.git 存储库中提交的 SHA。

  7. 选择 Start build

  8. 在构建完成后,您应该看到以下内容:

    • Build logs (构建日志) 选项卡上,使用了哪个版本的项目源。以下是示例。

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • Environment variables (环境变量) 选项卡上,Resolved source version (解析的源版本) 与用于创建构建的提交 ID 匹配。

    • Phase details (阶段详细信息) 选项卡上,显示 DOWNLOAD_SOURCE 阶段的持续时间。

这些步骤说明如何使用相同版本的源创建构建。这一次,使用参考和提交 ID 指定源的版本。

使用提交 ID 和参考指定 GitHub 存储库版本

  1. 在左侧导航窗格中,选择 Build projects (构建项目),然后选择您之前创建的项目。

  2. 选择 Start build

  3. Source version (源版本) 中,输入 refs/heads/master^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}。这是相同的提交 ID 以及格式为 refs/heads/branchname^{full-commit-SHA} 的分支参考。

  4. 选择 Start build

  5. 在构建完成后,您应该看到以下内容:

    • Build logs (构建日志) 选项卡上,使用了哪个版本的项目源。以下是示例。

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • Environment variables (环境变量) 选项卡上,Resolved source version (解析的源版本) 与用于创建构建的提交 ID 匹配。

    • Phase details (阶段详细信息) 选项卡上,DOWNLOAD_SOURCE 阶段的持续时间应短于仅使用提交 ID 指定源版本时的持续时间。