CodeBuild がホストする GitHub Actions ランナーについて - AWS CodeBuild

CodeBuild がホストする GitHub Actions ランナーについて

以下は、CodeBuild がホストする GitHub Actions ランナーに関する、よくある質問です。

ラベルにイメージとインスタンスの上書きを含める必要があるのはいつですか。

イメージとインスタンスの上書きをラベルに含めることで、GitHub Actions ワークフロージョブごとに異なるビルド環境を指定できます。これは、複数の CodeBuild プロジェクトやウェブフックを作成しなくても実行できます。例えば、ワークフロージョブにマトリックスを使用する必要がある場合に便利です。

name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} image:${{ matrix.os }} instance-size:${{ matrix.size }} strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
注記

runs-on に GitHub Actions コンテキストを含む複数のラベルがある場合、引用符が必要になる場合があります。

この機能に CloudFormation を使用できますか。

はい。プロジェクトウェブフックで GitHub Actions ワークフロージョブイベントフィルタを指定するフィルタグループを CloudFormation テンプレートに含めることができます。

Triggers: Webhook: true FilterGroups: - - Type: EVENT Pattern: WORKFLOW_JOB_QUEUED

詳細については、「GitHub ウェブフックイベントのフィルタリング (CloudFormation)」を参照してください。

CloudFormation テンプレートでのプロジェクト認証情報の設定に関するサポートが必要な場合は、「AWS CloudFormation ユーザーガイド」の「AWS::CodeBuild::SourceCredential」を参照してください。

この機能を使用する際にシークレットをマスクするにはどうすればよいですか。

デフォルトでは、ログに出力されるシークレットはマスクされません。シークレットをマスクする場合は、次の構文を使用できます。::add-mask::value。次に、YAML でこの構文を使用する方法の例を示します。

name: Secret Job on: [push] jobs: Secret-Job: runs-on: codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} env: SECRET_NAME: "secret-name" steps: - run: echo "::add-mask::$SECRET_NAME"

詳細については、GitHub の「Masking a value in a log」を参照してください。

単一プロジェクト内の複数のリポジトリから GitHub Actions ウェブフックイベントを受信することはできますか。

CodeBuild は、指定された組織またはエンタープライズからイベントを受信する、組織レベルおよびグローバルレベルのウェブフックをサポートします。詳細については、「GitHub グローバルおよび組織のウェブフック」を参照してください。

CodeBuild がホストする GitHub Actions ランナーの使用をサポートしているリージョンはどれですか。

CodeBuild がホストする GitHub Actions ランナーは、すべての CodeBuild リージョンでサポートされています。CodeBuild が使用可能な AWS リージョン の詳細については、「AWS サービス (リージョン別)」を参照してください。

CodeBuild がホストする GitHub Actions ランナーの使用をサポートしているプラットフォームはどれですか。

CodeBuild がホストする GitHub Actions ランナーは、Amazon EC2 と AWS Lambda コンピューティングの両方でサポートされています。Amazon Linux 2、Amazon Linux 2023、Ubuntu、Windows Server Core 2019 のプラットフォームを使用できます。詳細については、「EC2 コンピューティングイメージ」および「Lambda コンピューティングイメージ」を参照してください。