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

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

您可以使用 AWS CodeBuild 代理在本地计算机上运行 CodeBuild 构建。您还可以订阅有关代理新版本的通知。

Prerequisites

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

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

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

设置构建映像

您只需在首次运行该代理时或者当映像已更改时设置构建映像。

设置构建映像

  1. 克隆 CodeBuild 映像存储库:

    $ git clone https://github.com/aws/aws-codebuild-docker-images.git
  2. 生成映像。在本示例中,请使用 aws/codebuild/standard:4.0 映像。这将需要花几分钟的时间。

    $ cd aws-codebuild-docker-images/ubuntu/standard/4.0 $ docker build -t aws/codebuild/standard:4.0 .
  3. 运行以下 Docker 命令以下载本地 CodeBuild 代理:

    $ docker pull amazon/aws-codebuild-local:latest --disable-content-trust=false
  4. CodeBuild 代理可从 https://hub.docker.com/r/amazon/aws-codebuild-local/ 获得。其安全哈希算法 (SHA) 签名为:

    948390fe21cd700f7c8b8c64ee89faf7aeca8ab87cd9dac4ba6c853a35817ae3

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

    $ docker inspect amazon/aws-codebuild-local

运行 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 脚本并指定容器映像和输出目录:

    $ ./codebuild_build.sh -i aws/codebuild/standard:4.0 -a <output directory>

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

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

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

订阅 CodeBuild 代理通知

  1. 打开 Amazon SNS 控制台 (https://console.amazonaws.cn/sns/v3/home)。

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

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

  4. 选择创建订阅

  5. Create subscription 中,执行以下操作:

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

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

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

    4. 选择创建订阅

    5. 选择 Email (电子邮件) 以接收要求您确认订阅的电子邮件。按照电子邮件中的指示完成订阅。

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

取消订阅 CodeBuild 代理通知

  1. 打开 Amazon SNS 控制台 (https://console.amazonaws.cn/sns/v3/home)。

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

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