

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# GitHub Actions との統合
<a name="integrations-github-actions"></a>

*GitHub Action* は [CodeCatalyst アクション](workflows-actions.md#workflows-actions-types-cc) とよく似ていますが、GitHub ワークフローで使用できるように開発されているという点が異なります。GitHub Actions の詳細については、[GitHub Actions](https://docs.github.com/en/actions) ドキュメントを参照してください。

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

GitHub Action を CodeCatalyst ワークフローに追加するには、次の 2 つの方法があります。
+ CodeCatalyst コンソールで、キュレートされたリストから GitHub Action を選択できます。いくつかのよく使用されている GitHub Actions が利用可能です。詳細については、「[キュレートされた GitHub Action を追加する](integrations-github-action-add-curated.md)」を参照してください。
+ 使用したい GitHub Action が CodeCatalyst コンソールで利用できない場合は、**GitHub Actions** アクションを使用して追加できます。

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

  次の例は、[Super-Linter](https://github.com/marketplace/actions/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 アクションを追加する](integrations-github-action-add.md)」を参照してください。

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

**Topics**
+ [GitHub Actions と CodeCatalyst アクションの違い](#integrations-github-actions-how-different)
+ [GitHub Actions はワークフロー内の他の CodeCatalyst アクションとやりとりできますか?](#integrations-github-actions-interactions.title)
+ [どの GitHub Actions を使用できますか?](#integrations-github-actions-supported)
+ [CodeCatalyst における GitHub Action の制限事項](#integrations-github-actions-limitations)
+ [GitHub Action を追加する大まかな手順](#integrations-github-actions-how-to)
+ [GitHub Action は GitHub で実行されますか?](#integrations-github-actions-where-it-runs)
+ [GitHub ワークフローを使用することもできますか?](#integrations-github-actions-workflows-support.title)
+ [GitHub Actions アクションで使用されるランタイムイメージ](#integrations-github-actions-runtime)
+ [チュートリアル: GitHub Action を使用した lint コード](integrations-github-action-tutorial.md)
+ [GitHub Actions アクションを追加する](integrations-github-action-add.md)
+ [キュレートされた GitHub Action を追加する](integrations-github-action-add-curated.md)
+ [GitHub 出力パラメータをエクスポートする](integrations-github-action-export.md)
+ [GitHub 出力パラメータを参照する](integrations-github-action-referencing.md)
+ [GitHub Actions アクション YAML](github-action-ref.md)

## GitHub Actions と CodeCatalyst アクションの違い
<a name="integrations-github-actions-how-different"></a>

CodeCatalyst ワークフロー内で使用される GitHub Actions には、CodeCatalyst アクションと同じレベルのアクセス AWS と CodeCatalyst 機能 ([環境](deploy-environments.md)や[問題](issues.md)など) との統合はありません。 CodeCatalyst 

## GitHub Actions はワークフロー内の他の CodeCatalyst アクションとやりとりできますか?
<a name="integrations-github-actions-interactions.title"></a>

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

## どの GitHub Actions を使用できますか?
<a name="integrations-github-actions-supported"></a>

CodeCatalyst コンソールから利用可能な任意の GitHub Action、および [GitHub Marketplace](https://github.com/marketplace/actions) で利用可能な任意の GitHub Action を使用できます。Marketplace の GitHub Action を使用する場合は、以下の[制限](#integrations-github-actions-limitations)に注意してください。

## CodeCatalyst における GitHub Action の制限事項
<a name="integrations-github-actions-limitations"></a>
+ GitHub Actions は CodeCatalyst [Lambda コンピューティングタイプ](workflows-working-compute.md#compute.types)で使用できません。
+ GitHub Actions は [2022 年 11 月](build-images.md#build.previous-image)のランタイム環境 Docker イメージで実行されており、このイメージには古いツールが含まれています。イメージやツールの詳細については、「[ランタイム環境イメージの指定](build-images.md)」を参照してください。
+ [`github` コンテキスト](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context)に内部的に依存する GitHub Actions や、GitHub 固有のリソースを参照する GitHub Actions は、CodeCatalyst ではサポートされていません。例えば、次のアクションは CodeCatalyst では機能しません。
  + GitHub リソースを追加、変更、または更新しようとするアクション。例としては、プルリクエストを更新するアクション、GitHub で問題を作成するアクションなどがあります。
  + [https://github.com/actions](https://github.com/actions) にリストされているほぼすべてのアクション。
+ [Docker コンテナアクション](https://docs.github.com/en/actions/creating-actions/about-custom-actions#docker-container-actions)である GitHub Actions は機能しますが、デフォルトの Docker ユーザー (root) で実行する必要があります。ユーザー 1001 としてアクションを実行しないでください (本文執筆時点では、ユーザー 1001 は GitHub で機能しますが、CodeCatalyst では機能しません)。詳細については、「[GitHub Actions のための Dockerfile サポート](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions)」で「[User](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#user)」トピックを参照してください。

CodeCatalyst コンソールで利用可能な GitHub Actions の一覧については、「[キュレートされた GitHub Action を追加する](integrations-github-action-add-curated.md)」を参照してください。

## GitHub Action を追加する大まかな手順
<a name="integrations-github-actions-how-to"></a>

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

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

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

1. 次のいずれかを行います。
   + キュレートされたアクションを追加する場合は、そのアクションを設定します。詳細については、「[キュレートされた GitHub Action を追加する](integrations-github-action-add-curated.md)」を参照してください。
   + キュレートされたアクション以外を追加する場合は、**GitHub Actions** アクション内に、**GitHub Action の YAML コード を貼り付けます**。このコードは、[GitHub Marketplace](https://github.com/marketplace/actions) の該当する GitHub Action の詳細ページにあります。CodeCatalyst で動作させるには、おそらくコードを少し変更する必要があります。詳細については、「[GitHub Actions アクションを追加する](integrations-github-action-add.md)」を参照してください。

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

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

詳細なステップについては、次を参照してください。
+ [キュレートされた GitHub Action を追加する](integrations-github-action-add-curated.md).
+ [GitHub Actions アクションを追加する](integrations-github-action-add.md).

## GitHub Action は GitHub で実行されますか?
<a name="integrations-github-actions-where-it-runs"></a>

いいえ。GitHub Action は CodeCatalyst の[ランタイム環境イメージ](workflows-working-compute.md)を使用して CodeCatalyst で実行されます。

## GitHub ワークフローを使用することもできますか?
<a name="integrations-github-actions-workflows-support.title"></a>

いいえ。

## GitHub Actions アクションで使用されるランタイムイメージ
<a name="integrations-github-actions-runtime"></a>

CodeCatalyst **GitHub Actions** アクションは、[2022 年 11 月のイメージ](build-images.md#build.previous-image)で実行されます。詳細については、「[アクティブなイメージ](build-images.md#build-curated-images)」を参照してください。