GitHub Actions との統合 - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GitHub Actions との統合

GitHub ActionCodeCatalyst アクション とよく似ていますが、GitHub ワークフローで使用できるように開発されているという点が異なります。GitHub Actions の詳細については、GitHub Actions ドキュメントを参照してください。

GitHub Actions は、CodeCatalyst ワークフローのネイティブ CodeCatalyst アクションと併せて使用できます。

GitHub Action を CodeCatalyst ワークフローに追加するには、次の 2 つの方法があります。

  • CodeCatalyst コンソールで、キュレートされたリストから GitHub Action を選択できます。いくつかのよく使用されている GitHub Actions が利用可能です。詳細については、「キュレートされた GitHub Action を追加する」を参照してください。

  • 使用したい GitHub Action が CodeCatalyst コンソールで利用できない場合は、GitHub Actions アクションを使用して追加できます。

    GitHub Actions アクションとは、CodeCatalyst ワークフローと互換性を持たせるために GitHub Action をラップする CodeCatalyst アクションです。

    次の例は、Super-Linter GitHub Action をラップする GitHub Actions を示しています。

    Actions: GitHubAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: - name: Lint Code Base uses: github/super-linter@v4 env: VALIDATE_ALL_CODEBASE: "true" DEFAULT_BRANCH: main

    前のコードでは、CodeCatalyst GitHub Actions アクション (aws/github-actions-runner@v1 で識別される) は Super-Linter アクション (github/super-linter@v4 で識別される) をラップし、CodeCatalyst ワークフローで機能するようにしています。

    詳細については、「GitHub Actions アクションを追加する」を参照してください。

上記の例に示したように、すべての GitHub Actions は、キュレートされているものもされていないものも、GitHub Actions アクション (aws/github-actions-runner@v1) 内にラップされていなければなりません。アクションが正しく機能するには、ラッパーが必要です。

GitHub Actions と CodeCatalyst アクションの違い

CodeCatalyst ワークフロー内で使用される GitHub Actions には、CodeCatalyst アクションが持つような AWS や CodeCatalyst の機能 (環境問題など) への同等のアクセスや統合はありません。

GitHub Actions はワークフロー内の他の CodeCatalyst アクションとやりとりできますか?

はい。例えば、GitHub Actions は、他の CodeCatalyst アクションによって生成された変数を入力として使用でき、出力パラメータとアーティファクトを CodeCatalyst アクションと共有することもできます。詳細については、「GitHub 出力パラメータをエクスポートする」と「GitHub 出力パラメータを参照する」を参照してください。

どの GitHub Actions を使用できますか?

CodeCatalyst コンソールから利用可能な任意の GitHub Action、および GitHub Marketplace で利用可能な任意の GitHub Action を使用できます。Marketplace の GitHub Action を使用する場合は、以下の制限に注意してください。

CodeCatalyst における GitHub Action の制限事項

  • GitHub Actions は 2022 年 11 月のランタイム環境 Docker イメージで実行されており、このイメージには古いツールが含まれています。イメージやツールの詳細については、「ランタイム環境イメージの指定」を参照してください。

  • github コンテキストに内部的に依存する GitHub Actions や、GitHub 固有のリソースを参照する GitHub Actions は、CodeCatalyst ではサポートされていません。例えば、次のアクションは CodeCatalyst では機能しません。

    • GitHub リソースを追加、変更、または更新しようとするアクション。例としては、プルリクエストを更新するアクション、GitHub で問題を作成するアクションなどがあります。

    • https://github.com/actions にリストされているほぼすべてのアクション。

  • Docker コンテナアクションである GitHub Actions は機能しますが、デフォルトの Docker ユーザー (root) で実行する必要があります。ユーザー 1001 としてアクションを実行しないでください (本文執筆時点では、ユーザー 1001 は GitHub で機能しますが、CodeCatalyst では機能しません)。詳細については、「GitHub Actions のための Dockerfile サポート」で「User」トピックを参照してください。

CodeCatalyst コンソールで利用可能な GitHub Actions の一覧については、「キュレートされた GitHub Action を追加する」を参照してください。

GitHub Action を追加する大まかな手順

GitHub Action を CodeCatalyst ワークフローに追加する大まかな手順は次のとおりです。

  1. CodeCatalyst プロジェクトで、ワークフローを作成します。ワークフローでは、アプリケーションをビルド、テスト、デプロイする方法を定義します。詳細については、「初めてのワークフロー」を参照してください。

  2. ワークフローで、キュレートされた GitHub Action を追加するか、GitHub Actions アクションを追加します。

  3. 次のいずれかを行います。

    • キュレートされたアクションを追加する場合は、そのアクションを設定します。詳細については、「キュレートされた GitHub Action を追加する」を参照してください。

    • キュレートされたアクション以外を追加する場合は、GitHub Actions アクション内に、GitHub Action の YAML コード を貼り付けます。このコードは、GitHub Marketplace の該当する GitHub Action の詳細ページにあります。CodeCatalyst で動作させるには、おそらくコードを少し変更する必要があります。詳細については、「GitHub Actions アクションを追加する」を参照してください。

  4. (オプション) ワークフロー内で、ビルドアクションやテストアクションなどの他のアクションを追加します。詳細については、「ワークフローを使用して構築、テスト、デプロイする」を参照してください。

  5. ワークフローの開始は、手動で行うか、トリガーを介して自動で行います。ワークフローは、GitHub Action とワークフロー内の他のアクションを実行します。詳細については、「手動でのワークフロー実行の開始」を参照してください。

詳細なステップについては、次を参照してください。

GitHub Action は GitHub で実行されますか?

いいえ。GitHub Action は CodeCatalyst のランタイム環境イメージを使用して CodeCatalyst で実行されます。

GitHub ワークフローを使用することもできますか?

いいえ。

GitHub Actions アクションで使用されるランタイムイメージ

CodeCatalyst GitHub Actions アクションは、2022 年 11 月のイメージで実行されます。詳細については、「アクティブなイメージ」を参照してください。