使用在本地运行构建Amazon CodeBuild代理人 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

您还可以订阅以在代理的新版本发布时收到通知。

先决条件

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

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

  • 安装并设置搬运工人在本地计算机上。

设置构建映像

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

设置构建映像

  1. 如果您想使用精心策划的亚马逊 Linux 2 映像,可以从 CodeBuild 公共亚马逊 ECR 存储库中提取该映像,请访问https://gallery.ecr.aws/codebuild/amazonlinux2-x86_64-standard使用以下命令:

    $ docker pull public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:3.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. 下载 代理。

    要下载代理的 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:fdfff9470520c53dcd522606a3cc2b5df195ae8a5546697b08249b48175f45ed

    ARM 版本代理的 SHA 签名是:

    sha256:5480b70cf48435e276c21789c61280cfada24e17701ede6386e5d82088bc41ca

    您可以使用 SHA 识别代理的版本。要查看代理的 SHA 签名,运行以下命令:

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

运行 CodeBuild 代理

运行 CodeBuild 代理

  1. 切换到包含构建项目源的目录。

  2. 下载codebuild_build.sh脚本:

    $ wget 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.0要么public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:3.0.

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

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

您可以订阅 Amazon SNS 通知,这样便能在Amazon CodeBuild代理人已被释放。

订阅 CodeBuild 代理通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

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

  3. 在导航窗格中,选择 Subscriptions

  4. 选择 Create subscription

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

    1. 对于 Topic ARN,请使用以下 Amazon Resource Name (ARN):

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

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

    4. 选择 Create subscription(创建订阅)

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

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

取消订阅 CodeBuild 代理通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 在导航窗格中,选择 Subscriptions

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