AWS CodeBuild エージェントを使用してビルドをローカルで実行 - AWS CodeBuild

AWS CodeBuild エージェントを使用してビルドをローカルで実行

AWS CodeBuild エージェントを使用して、ローカルマシンで CodeBuild ビルドを実行できます。x86_64 および ARM プラットフォームで使用できるエージェントがあります。

通知にサブスクライブして、 エージェントの新しいバージョンがリリースされたときに通知を受信できます。

前提条件

開始する前に、以下を実行する必要があります。

  • ローカルマシンで Git をインストールします。

  • ローカルマシンで、Docker をインストールしてセットアップします。

ビルドイメージの設定方法

ビルドイメージを設定する必要があるのは、エージェントを初めて実行するとき、またはイメージが変更されたときだけです。

ビルドイメージの設定方法
  1. キュレートされた 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 イメージを使用する場合は、以下のステップを実行してください。

    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 署名を表示するには、次のコマンドを実行して、RepoDigests の下で SHA を探します。

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

CodeBuild エージェントを実行する

CodeBuild エージェントを実行するには
  1. ビルドプロジェクトソースを含むディレクトリに移動します。

  2. codebuild.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

    <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 エージェントの通知にサブスクライブするには
  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. ナビゲーションバーで、AWS リージョンを米国東部 (バージニア北部) に変更します (まだ選択していない場合)。サブスクライブする Amazon SNS 通知は、この AWS リージョンで作成されるため、このリージョンを選択する必要があります。

  3. ナビゲーションペインで [Subscriptions] を選択します。

  4. [Create subscription] を選択します。

  5. [Create subscription] (サブスクリプションの作成) で、次の操作を行います。

    1. [Topic ARN] (トピック ARN) で、以下の Amazon リソースネーム (ARN) を使用します。

      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
    2. [プロトコル] で、[E メール] または [SMS] を選択します。

    3. [エンドポイント] で、通知を受信する場所 (E メールまたは SMS) を選択します。E メール、住所、または電話番号 (市外局番を含む) を入力します。

    4. [Create subscription] (サブスクリプションの作成) を選択します。

    5. [Email] (E メール) を選択した場合は、サブスクリプションの確認を求める E メールが届きます。E メールの指示に従ってサブスクリプションを完了します。

      通知が不要になった場合は、次の手順で受信登録を解除します。

CodeBuild エージェントの通知のサブスクリプションを解除するには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションペインで [Subscriptions] (サブスクリプション) を選択します。

  3. サブスクリプションを選択し、[Actions] (アクション) から [Delete subscriptions] (サブスクリプションの削除) を選択します。確認を求められたら [Delete] (削除) を選択します。