使用以下方法制作徽章示例 CodeBuild - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用以下方法制作徽章示例 CodeBuild

Amazon CodeBuild 现在支持使用构建徽章,该徽章提供一个动态生成的可嵌入映像(徽章),用以显示项目的最新构建状态。可通过为您的 CodeBuild 项目生成的公开网址访问此图片。这允许任何人查看 CodeBuild 项目的状态。构建徽章不包含任何安全信息,因此它们无需身份验证。

创建已启用构建徽章的构建项目(控制台)

  1. 通过 https://console.aws.amazon.com/codesuite/codebuild/home 打开Amazon CodeBuild主机。

  2. 如果显示 CodeBuild 信息页面,请选择创建生成项目。否则,在导航窗格上,展开 “构建”,选择 “生成项目”,然后选择 “创建生成项目”。

  3. Project name (项目名称),输入此构建项目的名称。构建项目名称在您的各个 Amazon 账户内必须是唯一的。您还可以添加构建项目的可选描述,以帮助其他用户了解该项目的用途。

  4. Source (源) 中,对于 Source provider (源提供商),选择源提供商类型,然后执行以下操作之一:

    注意

    CodeBuild 不支持 Amazon S3 源提供商的编译徽章。由于Amazon CodePipeline使用 Amazon S3 进行构件传输,因此在中创建的管道中的构建项目不支持编译徽章 CodePipeline。

    • 如果您选择了 CodeCommit,那么对于 Repository (存储库),请选择存储库的名称。选择 Enable build badge (启用生成徽章),以使您的项目的生成状态可见且可嵌入。

    • 如果您选择 GitHub,请按照说明进行连接(或重新连接) GitHub。在 GitHub授权应用程序页面上,对于组织访问权限,选择您希望Amazon CodeBuild能够访问的每个存储库旁边的请求访问权限。选择 Authorize application (授权应用程序) 后,返回 Amazon CodeBuild 控制台,对于 Repository (存储库),选择包含源代码的存储库的名称。选择 Enable build badge (启用生成徽章),以使您的项目的生成状态可见且可嵌入。

    • 如果您选择了 Bitbucket,请按照说明与 Bitbucket 连接 (或重新连接)。在 Bitbucket Confirm access to your account 页面上,对于 Organization access,选择 Grant access。选择 Grant access (授予访问权限) 后,返回 Amazon CodeBuild 控制台,对于 Repository (存储库),选择包含源代码的存储库的名称。选择 Enable build badge (启用生成徽章),以使您的项目的生成状态可见且可嵌入。

      重要

      更新项目源可能会影响项目构建徽章的准确性。

  5. Environment (环境) 中:

    对于 Environment image (环境映像),执行下列操作之一:

    • 要使用由 Amazon CodeBuild 托管的 Docker 映像,请选择 Managed image (托管映像),然后从 Operating system (操作系统)Runtime(s) (运行时)Image (映像) 以及 Image version (映像版本) 中进行相应选择。从 Environment type (环境类型) 中进行选择(如果可用)。

    • 要使用其他 Docker 映像,请选择 Custom image (自定义映像)。对于环境类型,选择 ARMLinux、Lin ux GPUWindows。如果您选择 “其他注册表”,则在外部注册表 URL 中,使用格式输入 Docker Hub 中 Docker 映像的名称和标签docker repository/docker image name。如果您选择 Amazon ECR,请使用亚马逊 ECR 存储库亚马逊 ECR 镜像在您的Amazon账户中选择 Docker 镜像。

    • 要使用私有 Docker 镜像,请选择自定义镜像。对于环境类型,选择 ARMLinux、Lin ux GPUWindows。对于 Image registry (映像注册表),选择 Other registry (其他注册表),然后输入您的私有 Docker 映像的凭证的 ARN。证书必须由Secrets Manager 创建。有关更多信息,请参阅什么是Amazon Secrets Manager? Amazon Secrets Manager用户指南中。

  6. Service role (服务角色) 中,执行下列操作之一:

    • 如果您没有 CodeBuild 服务角色,请选择新建服务角色。在 Role name 中,为新角色输入名称。

    • 如果您有 CodeBuild 服务角色,请选择现有服务角色。在角色 ARN 中,选择服务角色。

    注意

    使用控制台创建或更新构建项目时,您可以同时创建 CodeBuild 服务角色。默认情况下,这个角色仅能与该构建项目配合使用。如果您使用控制台将此服务角色与另一个构建项目关联,则此角色将更新以便与关联的构建项目结合使用。一个服务角色最多可与 10 个构建项目结合使用。

  7. Buildspec 中,执行操作之一:

    • 选择 “使用 buildspec 文件” 以使用源代码根目录中的 buildspec.yml 文件。

    • 选择 “插入生成命令” 以使用控制台插入生成命令。

    有关更多信息,请参阅 构建规范参考

  8. Artifacts (构件) 中,对于 Type (类型),执行以下操作之一:

    • 如果您不想创建构建输出项目,请选择 No artifacts (无构件)

    • 要将构建输出存储在 S3 存储桶中,请选择 Amazon S3,然后执行以下操作:

      • 如果要将项目名称用于构建输出 ZIP 文件或文件夹,请将 Name (名称) 留空。否则,请输入名称。默认情况下,构件名称是项目名称。如果您要使用其他名称,请在构件名称框中输入该名称。如果您要输出 ZIP 文件,请包含 zip 扩展名。

      • 对于 Bucket name (存储桶名称),请选择输出存储桶的名称。

      • 如果您在此过程的前面部分选择了 Insert build commands (插入构建命令),对于 Output files (输出文件),请输入构建(该构建要放到构建输出 ZIP 文件或文件夹中)中的文件位置。对于多个位置,使用逗号分开各个位置 (appspec.yml, target/my-app.jar)。有关更多信息,请参阅 构建规范语法files 的描述。

  9. 展开 Additional configuration (其他配置) 并根据需要选择选项。

  10. 选择 Create build project (创建构建项目)。在 Review (审核) 页面上,选择 Start build (启动构建) 以运行构建。

创建已启用构建徽章的构建项目 (CLI)

有关创建构建项目的信息,请参阅创建构建项目 (Amazon CLI)。要在您的 Amazon CodeBuild 项目中包含构建徽章,您必须指定值为 badgeEnabledtrue

访问您的 Amazon CodeBuild 构建徽章

您可以使用 Amazon CodeBuild 控制台或 Amazon CLI 访问构建徽章。

  • 在 CodeBuild 控制台的生成项目列表中,在 “名称” 列中,选择与生成项目对应的链接。在 Build project: project-name (构建项目: 项目名称) 页面上的 Configuration (配置) 中,选择 Copy badge URL (复制徽章 URL)。有关更多信息,请参阅查看构建项目的详细信息(控制台)

  • 在 Amazon CLI 中,运行 batch-get-projects 命令。构建徽章 URL 包含在输出的项目环境详细信息部分中。有关更多信息,请参阅查看构建项目的详细信息 (Amazon CLI)

生成徽章请求 URL 是使用常见的默认分支生成的,但您可以指定源存储库中用于运行构建的任何分支。例如:

https://codebuild.us-east-1.amazon.com/badges?uuid=...&branch=<branch>

您也可以通过将参数替换为徽章 URL 中的branch参数来指定源存储库中的标签。tag例如:

https://codebuild.us-east-1.amazon.com/badges?uuid=...&tag=<tag>

发布你的 CodeBuild 编译徽章

您可以在 markdown 文件中使用编译徽章 URL 在 markdown 文件中显示最新版本的状态。这对于在源存储库的 readme.md 文件中显示最新版本的状态很有用(例如, GitHub 或 CodeCommit)。例如:

![](<build badge URL>)

CodeBuild 徽章状态

  • PASSING 给定分支上的最新构建已传递。

  • FAILING 给定分支上的最新构建已超时、失败、出现故障或停止。

  • IN_PROGRESS 给定分支上的最新构建正在进行中。

  • UNKNOWN 项目尚未为给定分支运行构建或根本未运行。此外,构建徽章功能可能已禁用。