使用 Amazon CodeBuild 代理在本地运行构建
您可以使用 Amazon CodeBuild 代理在本地计算机上运行 CodeBuild 构建。有适用于 x86_64 和 ARM 平台的代理。
您还可以进行订阅,这样便能在发布代理的新版本时收到通知。
先决条件
在开始之前,您需要执行以下操作:
-
在本地计算机上安装 Git。
-
在本地计算机上安装和设置 Docker
。
设置构建映像
您只需要在首次运行代理时或映像发生更改时设置构建映像。
设置构建映像
-
如果您想使用精心策划的 Amazon Linux 2 映像,则可以使用以下命令从 CodeBuild 公共 Amazon ECR 存储库(https://gallery.ecr.aws/codebuild/amazonlinux2-x86_64-standard
)中拉取该映像: $
docker pull public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:4.0或者,如果要使用另一个 Linux 映像,请执行以下步骤:
-
克隆 CodeBuild 映像存储库:
$
git clone https://github.com/aws/aws-codebuild-docker-images.git -
切换到该映像目录。本示例使用
aws/codebuild/standard:5.0
映像:$
cd aws-codebuild-docker-images/ubuntu/standard/5.0 -
构建映像。这将需要花几分钟的时间。
$
docker build -t aws/codebuild/standard:5.0 .
-
-
下载 CodeBuild 代理。
要下载 x86_64 版本代理,请运行以下命令:
$
docker pull public.ecr.aws/codebuild/local-builds:latest要下载 ARM 版本代理,请运行以下命令:
$
docker pull public.ecr.aws/codebuild/local-builds:aarch64 -
CodeBuild 代理可通过 https://gallery.ecr.aws/codebuild/local-builds
获得。 x86_64 版本代理的安全哈希算法(SHA)签名为:
sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
ARM 版本代理的 SHA 签名为:
sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
您可以通过此 SHA 识别代理的版本。要查看代理的 SHA 签名,请运行以下命令并在
RepoDigests
下查找 SHA:$
docker inspect public.ecr.aws/codebuild/local-builds:latest
运行 CodeBuild 代理
运行 CodeBuild 代理
-
请切换到包含构建项目源的目录。
-
下载 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 -
运行
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将
<container-image>
替换为容器映像的名称,例如aws/codebuild/standard:5.0
或public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:4.0
。该脚本启动构建映像,并在当前目录中的项目上运行构建。要指定构建项目的位置,请在脚本命令中添加
-s
选项。<build project directory>
接收有关新的 CodeBuild 代理版本的通知
您可以订阅 Amazon SNS 通知,这样便能在发布 Amazon CodeBuild 代理的新版本时收到通知。
订阅 CodeBuild 代理通知
-
通过 https://console.aws.amazon.com/sns/v3/home
打开 Amazon SNS 控制台。 -
在导航栏中,将 Amazon 区域更改为美国东部(弗吉尼亚州北部)(如果尚未选中)。您必须选择此 Amazon 区域,因为您订阅的 Amazon SNS 通知就是在此区域中创建的。
-
在导航窗格中,选择订阅。
-
选择创建订阅。
-
在创建订阅中,请执行以下操作:
-
对于主题 ARN,请使用以下 Amazon 资源名称(ARN):
arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
-
对于协议,选择电子邮件或 SMS。
-
对于端点,选择要接收通知的位置(电子邮件或 SMS)。输入电子邮件、地址或电话号码,包括区号。
-
选择创建订阅。
-
选择电子邮件,可接收要求确认订阅的电子邮件。按照电子邮件中的指示完成订阅。
如果您不希望再收到这些通知,请通过以下步骤取消订阅。
-
取消订阅 CodeBuild 代理通知
-
通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home
。 -
在导航窗格中,选择 Subscriptions。
-
选择订阅,并从操作中,选择删除订阅。请在提示您进行确认时选择删除。