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

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

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

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

Prerequisites

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

  • ローカルマシンで 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: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.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

    <container-image> は、コンテナイメージの名前 (aws/codebuild/standard:5.0 または public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:3.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. トピックの 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. [E メール] を選択した場合は、サブスクリプションの確認を求める E メールが届きます。E メールの指示に従ってサブスクリプションを完了します。

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

CodeBuild エージェントの通知のサブスクリプションを解除するには

  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

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

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