使用 AWS CodeBuild 代理在本地运行构建 - AWS CodeBuild

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

使用 AWS CodeBuild 代理在本地运行构建

您可以使用 AWS CodeBuild 代理在本地计算机上运行 CodeBuild 构建。有适用于 x86_64 和平台的代理。ARM

您还可以进行订阅,这样便能在发布代理的新版本时收到通知。

先决条件

在开始之前,您需要执行以下操作:

  • 在本地计算机上安装 Git。

  • 在本地计算机上安装和设置 Docker

设置构建映像

您只需要在首次运行代理时或映像发生更改时设置构建映像。

设置构建映像
  1. 如果你想使用精心策划的 Amazon Linux 2 镜像,你可以使用以下命令从亚马逊 CodeBuild公共ECR存储库 https://gallery.ecr.aws/codebuild/amazonlinux2-x86_64-standard 中提取它:

    $ docker pull public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:4.0

    或者,如果要使用另一个 Linux 映像,请执行以下步骤:

    1. 克隆 CodeBuild 镜像存储库:

      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
    2. 切换到该映像目录。本示例使用 aws/codebuild/standard:5.0 映像:

      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
    3. 构建映像。这将需要花几分钟的时间。

      $ docker build -t aws/codebuild/standard:5.0 .
  2. 下载代 CodeBuild 理。

    要下载 x86_64 版本代理,请运行以下命令:

    $ docker pull public.ecr.aws/codebuild/local-builds:latest

    要下载代理ARM版本,请运行以下命令:

    $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
  3. 该 CodeBuild 代理可从 https://gallery.ecr.aws/codebuild/local-builds 获得

    代理的 x86_64 版本的安全哈希算法 (SHA) 签名为:

    sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940

    代理ARM版本的SHA签名是:

    sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192

    您可以使用SHA来识别代理的版本。要查看代理的SHA签名,请运行以下命令并查找SHA下方RepoDigests

    $ docker inspect public.ecr.aws/codebuild/local-builds:latest

运行代 CodeBuild 理

运行代 CodeBuild 理
  1. 请切换到包含构建项目源的目录。

  2. 下载 codebuild_build.sh 脚本:

    $ curl -O https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh $ chmod +x codebuild_build.sh
  3. 运行 codebuild_build.sh 脚本并指定容器映像和输出目录。

    要运行 x86_64 构建,请运行以下命令:

    $ ./codebuild_build.sh -i <container-image> -a <output directory>

    要运行ARM构建,请运行以下命令:

    $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64

    Replace(替换) <container-image> 使用容器镜像的名称,例如aws/codebuild/standard:5.0public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:4.0

    该脚本启动构建映像,并在当前目录中的项目上运行构建。要指定构建项目的位置,请在脚本命令中添加 -s <build project directory> 选项。

接收有关新的 CodeBuild 代理版本的通知

您可以订阅 Amazon SNS 通知,以便在 AWS CodeBuild 代理发布新版本时收到通知。

订阅 CodeBuild 代理通知
  1. https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

  2. 在导航栏中,如果尚未选择 AWS 该区域,则将其更改为美国东部(弗吉尼亚北部)。您必须选择此 AWS 区域,因为您订阅的 Amazon SNS 通知是在该地区创建的。

  3. 在导航窗格中,选择订阅

  4. 选择创建订阅

  5. 创建订阅中,请执行以下操作:

    1. 对于主题 ARN,请使用以下 Amazon 资源名称 (ARN):

      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
    2. 对于 “协议”,选择 “电子邮件” 或SMS

    3. 对于 Endpoint,选择接收通知的地点(电子邮件或SMS)。输入电子邮件、地址或电话号码,包括区号。

    4. 选择创建订阅

    5. 选择电子邮件,可接收要求确认订阅的电子邮件。按照电子邮件中的指示完成订阅。

      如果您不希望再收到这些通知,请通过以下步骤取消订阅。

取消订阅 CodeBuild 代理通知
  1. https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

  2. 在导航窗格中,选择订阅

  3. 选择订阅,并从操作中,选择删除订阅。请在提示您进行确认时选择删除