メニュー
AWS CodeBuild
ユーザーガイド (API バージョン 2016-10-06)

AWS CodeBuild でビルドプロジェクトの設定を変更する

AWS CodeBuild でビルドプロジェクトの設定を変更するには、AWS CodeBuild コンソール、AWS CLI、または AWS SDK を使用できます。

ビルドプロジェクトの設定を変更する (コンソール)

  1. Open the AWS CodeBuild console at https://console.aws.amazon.com/codebuild/.

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

  3. 次のいずれかを行ってください。

    • 変更するビルドプロジェクトの横にあるラジオボタンを選択して、[Actions] を選択し、[Update] を選択します。

    • 変更するビルドプロジェクトのリンクを選択し、[Edit project] を選択します。

    注記

    デフォルトでは、最新の 100 個のビルドプロジェクトが表示されます。さらに多くのビルドプロジェクトを表示するには、[Projects per page] で別の値を選択するか、[Viewing projects] で前後の矢印を選択します。

  4. プロジェクトの詳細ページで、[Description] に説明を入力します。

    この手順ので参照される設定の詳細については、「ビルドプロジェクトの作成 (コンソール)」を参照してください。

  5. ソースコードの場所に関する情報を変更するには、[Source: What to build] エリアで、[Update source] を選択します。以下のテーブルを使用して、ソースプロバイダに適切な選択を行います。

    ソースプロバイダ Amazon S3 AWS CodeCommit Bitbucket GitHub GitHub Enterprise

    For Bucket, choose the name of the input bucket that contains the source code.

    X

    For S3 object key, type the name of the ZIP file that contains the source code.

    X

    Choose Connect to Bitbucket and follow the instructions to connect (or reconnect) with Bitbucket.

    X

    Choose Connect to GitHub and follow the instructions to connect (or reconnect) with GitHub and authorize access to AWS CodeBuild.

    X

    For Personal Access token, see GitHub Enterprise のサンプル for information about how to copy a personal access token to your clipboard. Paste the token in the text field, and then choose Save Token.

    注記

    You only need to enter and save the personal access token once. All future AWS CodeBuild projects will use this token.

    X

    From Repository, choose the repository you want to use.

    X

    For Repository, choose whether to use a public repository or a repository in your account.

    X X

    Use Repository URL only if you use a public repository. Enter its URL.

    X X

    Use Choose a repository only if you use a repository in your account.

    X X

    Choose Git clone depth to create a shallow clone with a history truncated to the specified number of commits. If you want a full clone, choose Full.

    X X X X

    Choose Webhook if you want AWS CodeBuild to build the source code every time a code change is pushed to this repository.

    X X

    If you chose Webhook, in Branch filter, enter a regular expression filter to specify which branches are built. If the name of a branch matches the branch filter, the branch is built. If no filter is specified, all branches are built.

    X X

    Choose Report build status, if you want the status of your build's start and completion reported to your source provider.

    注記

    The status of a build triggered by a webhook is always reported to your source provider.

    X

    If you chose Webhook, choose Rotate webhook secret key if you want GitHub to rotate your secret key every time a code change triggers a build.

    X X

    Choose Insecure SSL to ignore SSL warnings while connecting to your GitHub Enterprise project repository.

    X

    Choose Build Badge to make your project's build status visible and embeddable. For more information, see ビルドバッジサンプル.

    X X X X
  6. ビルド環境に関する情報を変更するには、[Environment: How to build] で、[Update image] を選択します。ビルド環境タイプ (例: [Environment image]、[Operating system]、[Runtime]、[Version]、[Custom image type]、[Custom image ID]、[Amazon ECR repository]、または [Amazon ECR image]) に適切な変更を行います。

  7. 次のいずれかを行ってください。

    • 以前は、ソースコードに buildspec.yml ファイルが含まれていなかったが現在は含まれている場合、[Update build specification] を選択し、[Use buildspec.yml from source code] を選択します。

    • 以前は、ソースコードに buildspec.yml ファイルが含まれていたが現在は含まれていない場合、[ビルド仕様の更新] を選択した後、[ビルドコマンドの挿入] を選択し、[ビルドコマンド] にコマンドを入力します。

  8. ビルド出力アーティファクトの場所と名前に関する情報を変更するには、[Artifacts: Where to put the artifacts from this build project] で、[Artifacts type]、[Artifact name]、[Bucket name]、または [Output files] の値を変更します。

  9. キャッシュに関する情報を変更するには、[Cache] で、次のいずれかの操作を行います。

    • 以前にキャッシュを選択したが今はキャッシュを使用しない場合、[No cache] を選択します。

    • 以前に [No cache] を選択したが今はキャッシュを使用する場合、[Amazon S3] を選択し、次のいずれかを実行します。

      • [バケット] では、キャッシュが保存される Amazon S3 バケットの名前を選択します。

      • (オプション) [Path prefix] に、Amazon S3 パスプレフィックスを入力します。[Path prefix] 値は、バケット内の同じディレクトリにキャッシュを保存できるディレクトリ名に似ています。

        重要

        [Path prefix] の末尾に「/」を追加しないでください。

    キャッシュを使用すると、再利用可能なビルド環境がキャッシュに保存され、ビルド全体で使用されるため、かなりのビルド時間が節約されます。ビルド仕様ファイルのキャッシュの指定に関する詳細については、「ビルド仕様の構文」を参照してください。

  10. AWS CodeBuild サービスロールに関する情報を変更するには、[Service role] で、[Create a role]、[Choose an existing service role from your account]、または [Role name] の値を変更します。

    注記

    コンソールでは、ビルドプロジェクトの作成時や更新時に AWS CodeBuild サービスロールも作成できます。デフォルトでは、ロールはそのビルドプロジェクトでのみ使用できます。コンソールでは、このサービスロールを別のビルドプロジェクトと関連付けると、この別のビルドプロジェクトで使用できるようにロールが更新されます。サービスロールは最大 10 個のビルドプロジェクトで使用できます。

  11. [VPC] で、次のいずれかの操作を行います。

    • プロジェクトに VPC を使用していない場合は、[No VPC] を選択します。

    • AWS CodeBuild を VPC で動作させる場合、

      • [VPC] で、AWS CodeBuild が使用する VPC ID を選択します。

      • [Subnets] で、AWS CodeBuild が使用するリソースを含むサブネットを選択します。

      • [Security Groups] で、AWS CodeBuild が VPC 内のリソースへのアクセスを許可するために使用するセキュリティグループを選択します。

    詳細については、「Amazon Virtual Private Cloud で AWS CodeBuild を使用する」を参照してください。

  12. ビルドタイムアウトに関する情報を変更するには、[Show advanced settings] で、[Timeout] の、[hours] と [minutes] の値を変更します。[hours] と [minutes] が空白のままの場合、デフォルト値は 60 分になります。

  13. AWS KMS カスタマーマスタキー (CMK) に関する情報を変更するには、[Show advanced settings] の [Encryption key] の値を変更します。

    重要

    [暗号化キー] を空白のままにした場合、AWS CodeBuild は 代わりに AWS アカウントの Amazon S3 用 AWS マネージド CMK を使用します。

  14. このビルドプロジェクトを使用して Docker イメージを作成する場合、指定されたビルド環境が Docker をサポートする AWS CodeBuild に用意されていない場合は、[Show advanced settings] で [Privileged] を選択します。それ以外の場合、関連付けられているビルドで Docker デーモンと通信しようとすると、すべて失敗します。必要に応じて、ビルドで Docker デーモンを操作できるように、Docker デーモンも起動する必要があります。これを行う 1 つの方法は、次のビルドコマンドを実行してビルド仕様の install フェーズで Docker デーモンを初期化することです。(Docker をサポートする AWS CodeBuild に用意されているビルド環境イメージを指定した場合は、以下のビルドコマンドを実行しないでください。)

    - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay& - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
  15. ビルド出力アーティファクトの保存方法に関する情報を変更するには、[Show advanced settings] で、[Artifacts packaging] の値を変更します。

  16. ビルドの実行に使用するメモリと vCPU の量を変更するには、[Show advanced settings] で [Compute type] の値を変更します。

  17. ビルドに使用する環境変数に関する情報を変更するには、[Show advanced settings] で、[Environment variables] の、[Name]、[Value]、および [Type] の値を変更します。[Add row] を使用して環境変数を追加します。もう使用しない環境変数の横にある削除 (X) ボタンを選択します。

    他のユーザーは、AWS CodeBuild コンソールと AWS CLI を使用して環境変数を確認できます。環境変数の表示に懸念がない場合は、[Name] および [Value] フィールドを設定し、[Type] を [Plaintext] に設定します。

    Amazon EC2 Systems Manager パラメータストアには、AWS アクセスキー ID、AWS シークレットアクセスキー、またはパスワードなどの機密値を持つ環境変数をパラメータとして保存することをお勧めします。[Type] で [Parameter Store] を選択します。[Name] に、参照する AWS CodeBuild の識別子を入力します。[Value] に、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータの名前を入力します。たとえば、/CodeBuild/dockerLoginPassword という名前のパラメータを使用して、[Type] で [Parameter Store] を選択します。[Name] に、「LOGIN_PASSWORD」と入力します。[Value] に、「/CodeBuild/dockerLoginPassword」と入力します。

    重要

    パラメータは /CodeBuild/ で始まるパラメータ名 (例: /CodeBuild/dockerLoginPassword) で、Amazon EC2 Systems Manager パラメータストアに保存することをお勧めします。AWS CodeBuild コンソールを使用して Amazon EC2 Systems Manager にパラメータを作成することができます。[Create a parameter] を選択し、ダイアログボックスの手順に従います。(ダイアログボックスでは、[KMS key] の場合、オプションでアカウントの AWS KMS キーの ARN を指定できます。Amazon EC2 Systems Manager では、このキーを使用して、保存中にパラメータの値を暗号化し、取得中に復号化します。)AWS CodeBuild コンソールを使用してパラメータを作成した場合、コンソールは保存されている /CodeBuild/ パラメータ名を開始します。詳細については、「Amazon EC2 Systems Manager ユーザーガイド」の「Systems Manager パラメータストア」および「Systems Manager パラメータストアコンソールのチュートリアル」を参照してください。

    ビルドプロジェクトが Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照する場合、ビルドプロジェクトのサービスロールで ssm:GetParameters アクションを許可する必要があります。以前に [Create a service role in your account] を選択した場合、AWS CodeBuild では、ビルドプロジェクトのデフォルトのサービスロールにこのアクションが自動的に含められます。ただし [Choose an existing service role from your account] を選択した場合は、このアクションをサービスロールに個別に含める必要があります。

    ビルドプロジェクトが、/CodeBuild/ で始まらないパラメータ名を持つ、Amazon EC2 Systems Manager パラメータストアに保存されているパラメータを参照し、[Create a service role in your account] を選択した場合、/CodeBuild/ で始まらないパラメータ名にアクセスできるようにサービスロールを更新する必要があります。これは、サービスロールが /CodeBuild/ で始まるパラメータ名にのみアクセスできるためです。

    既存の環境変数は、設定した環境変数により置き換えられます。たとえば、Docker イメージに my_value の値を持つ MY_VAR という名前の環境変数が既に含まれていて、other_value の値を持つ MY_VAR という名前の環境変数を設定した場合、my_valueother_value に置き換えられます。同様に、Docker イメージに /usr/local/sbin:/usr/local/bin の値を持つ PATH という名前の環境変数が既に含まれていて、$PATH:/usr/share/ant/bin の値を持つ PATH という名前の環境変数を設定した場合、/usr/local/sbin:/usr/local/bin はリテラル値 $PATH:/usr/share/ant/bin に置き換えられます。

    CODEBUILD_ で始まる名前の環境変数は設定しないでください。このプレフィックスは内部使用のために予約されています。

    同じ名前の環境変数が複数の場所で定義されている場合は、その値は次のように決定されます。

    • ビルド開始オペレーション呼び出しの値が最も優先順位が高くなります。

    • ビルドプロジェクト定義の値が次に優先されます。

    • ビルド仕様宣言の値の優先順位が最も低くなります。

  18. このビルドプロジェクトのタグに関する情報を変更するには、[Show advanced settings] で、[Tags] の、[Name] と [Value] の値を変更します。[Add row] を使用して、タグを追加します。最大 50 個のタグを追加できます。もう使用しないタグの横にある削除 (X) アイコンを選択します。

  19. [Update] を選択します。

ビルドプロジェクトの設定を変更する (AWS CLI)

AWS CLI を AWS CodeBuild と組み合わせて使用する方法については、「コマンドラインリファレンス」を参照してください。

  1. 次のように update-project コマンドを実行します。

    aws codebuild update-project --generate-cli-skeleton

    JSON 形式のデータが出力に表示されます。AWS CLI がインストールされているローカルコンピュータまたはインスタンス上の場所にあるファイル (例: update-project.json) にデータをコピーします。次に、「ビルドプロジェクトを作成する (AWS CLI)」の説明に従って、コピーしたデータを変更して、結果を保存します。

    注記

    JSON 形式のデータでは、設定を変更するビルドプロジェクトの名前を指定する必要があります。その他のすべての設定はオプションです。ビルドプロジェクトの名前を変更することはできませんが、他の設定を変更することはできます。

  2. たった今保存したファイルを含むディレクトリに切り替えて、update-project コマンドをもう一度実行します。

    aws codebuild update-project --cli-input-json file://update-project.json
  3. 成功した場合は、「ビルドプロジェクトを作成する (AWS CLI)」で説明されているのと同様のデータが出力に表示されます。

ビルドプロジェクトの設定を変更する (AWS SDK)

AWS CodeBuild を AWS SDK と組み合わせて使用する方法については、「AWS SDK とツールのリファレンス」を参照してください。