AWS CodeBuild エージェントを使用してビルドをローカルで実行
AWS CodeBuild エージェントを使用して、ローカルマシンで CodeBuild ビルドを実行できます。x86_64 および ARM プラットフォームで使用できるエージェントがあります。
通知にサブスクライブして、 エージェントの新しいバージョンがリリースされたときに通知を受信できます。
前提条件
開始する前に、以下を実行する必要があります。
-
ローカルマシンで Git をインストールします。
-
ローカルマシンで、Docker
をインストールしてセットアップします。
ビルドイメージの設定方法
ビルドイメージを設定する必要があるのは、エージェントを初めて実行するとき、またはイメージが変更されたときだけです。
ビルドイメージの設定方法
-
キュレートされた Amazon Linux 2 イメージを使用する場合は、以下のコマンドを使用して、https://gallery.ecr.aws/codebuild/amazonlinux2-x86_64-standard
にある CodeBuild パブリック Amazon ECR リポジトリからイメージをプルできます。 $
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.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 通知にサブスクライブして、AWS CodeBuild エージェントの新しいバージョンがリリースされたときに通知を受信できます。
CodeBuild エージェントの通知にサブスクライブするには
-
Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home
) を開きます。 -
ナビゲーションバーで、AWS リージョンを米国東部 (バージニア北部) に変更します (まだ選択していない場合)。サブスクライブする Amazon SNS 通知は、この AWS リージョンで作成されるため、このリージョンを選択する必要があります。
-
ナビゲーションペインで [Subscriptions] を選択します。
-
[Create subscription] を選択します。
-
[Create subscription] (サブスクリプションの作成) で、次の操作を行います。
-
[Topic ARN] (トピック ARN) で、以下の Amazon リソースネーム (ARN) を使用します。
arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
-
[プロトコル] で、[E メール] または [SMS] を選択します。
-
[エンドポイント] で、通知を受信する場所 (E メールまたは SMS) を選択します。E メール、住所、または電話番号 (市外局番を含む) を入力します。
-
[Create subscription] (サブスクリプションの作成) を選択します。
-
[Email] (E メール) を選択した場合は、サブスクリプションの確認を求める E メールが届きます。E メールの指示に従ってサブスクリプションを完了します。
通知が不要になった場合は、次の手順で受信登録を解除します。
-
CodeBuild エージェントの通知のサブスクリプションを解除するには
-
Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home
)を開きます。 -
ナビゲーションペインで [Subscriptions] (サブスクリプション) を選択します。
-
サブスクリプションを選択し、[Actions] (アクション) から [Delete subscriptions] (サブスクリプションの削除) を選択します。確認を求められたら [Delete] (削除) を選択します。