

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

# GitHub コネクション
<a name="connections-github"></a>

接続を使用して、サードパーティープロバイダーを AWS リソースに関連付ける設定を承認および確立します。

**注記**  
アカウントで既存の接続を作成または使用する代わりに、別の AWS アカウント間の共有接続を使用できます。「[別のアカウントと共有されている接続を使用する](connections-shared.md)」を参照してください。

**注記**  
この機能は、アジアパシフィック (香港）、アジアパシフィック (ハイデラバード）、アジアパシフィック (ジャカルタ）、アジアパシフィック (メルボルン）、アジアパシフィック (大阪）、アフリカ (ケープタウン）、中東 (バーレーン）、中東 (アラブ首長国連邦）、欧州 (スペイン）、欧州 (チューリッヒ）、イスラエル (テルアビブ）、または AWS GovCloud (米国西部) の各リージョンでは使用できません。利用可能なその他のアクションについては、「[CodePipeline との製品とサービスの統合](integrations.md)」を参照してください。欧州 (ミラノ) リージョンでのこのアクションに関する考慮事項については、「[CodeStarSourceConnection (Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com、および GitLab セルフマネージドアクションの場合)](action-reference-CodestarConnectionSource.md)」の注意を参照してください。

CodePipeline で GitHub または GitHub Enterprise Cloud リポジトリのソースアクションを追加するには、次のいずれかを選択できます。
+ CodePipeline コンソールの**パイプラインを作成**ウィザード、または **[アクションを編集する]** ページを使用して、**[GitHub (GitHub アプリ経由)]** プロバイダオプションを選択します。アクションを追加するには [GitHub Enterprise Server への接続を作成する (コンソール)](connections-ghes.md#connections-ghes-console) を参照してください。このコンソールは、接続リソースの作成に役立ちます。
**注記**  
GitHub 接続を追加し、パイプラインの **[完全クローン作成]** オプションを使用してメタデータをクローンする方法を示すチュートリアルについては、「[チュートリアル: CodeCommit パイプラインソースで完全なクローンを使用する](tutorials-github-gitclone.md)」を参照してください。
+ `CodeStarSourceConnection` アクションのアクション設定を `GitHub` プロバイダに追加するには、 [パイプラインを作成する (CLI)](pipelines-create.md#pipelines-create-cli) に記載されている CLI 手順に従います。

**注記**  
[**設定**] からデベロッパーツール コンソールを使用して、接続を作成することもできます。[[接続を作成する](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)] を参照してください。

開始する前に:
+ GitHub でアカウントを作成しておく必要があります。
+ GitHub のコードリポジトリを予め作成しておく必要があります。
+ 2019 年 12 月 18 日より前に作成された CodePipeline サービスロールを使用する場合は、`codestar-connections:UseConnection` を AWS CodeStar の接続に使用するアクセス許可の更新が必要になることがあります。手順については、「[CodePipeline サービスロールにアクセス許可を追加する](how-to-custom-role.md#how-to-update-role-new-services)」を参照してください。

**注記**  
接続を作成するには、GitHub 組織の所有者である必要があります。組織のリポジトリでない場合、ユーザーがリポジトリの所有者である必要があります。

**Topics**
+ [GitHub (コンソール) への接続を作成する](#connections-github-console)
+ [GitHub (CLI) への接続を作成する](#connections-github-cli)

## GitHub (コンソール) への接続を作成する
<a name="connections-github-console"></a>

次の手順を使用して、CodePipeline コンソールを使用して GitHub もしくは GitHub Enterprise Cloud リポジトリに接続アクションを追加します。

**注記**  
これらのステップでは、[**リポジトリアクセス**] で特定のリポジトリを選択できます。選択されていないリポジトリは、CodePipeline からアクセスしたり表示したりできなくなります。

### ステップ１：パイプラインを作成または修正するには
<a name="connections-github-console-action"></a>

1. CodePipeline コンソールにサインインします。

1.  次のいずれかを選択します 。
   + パイプラインの作成を選択します。[*パイプラインを作成する*] の手順に従い最初の画面を完了し、[**次**] を選択します。**[送信元]** ページの **[ソースプロバイダー]**で、**[GitHub (GitHub アプリ経由)]** を選択します。
   + 既存のパイプラインを編集することを選択します。[**Edit**]、[**Edit Stage**] の順に選択します。ソースアクションを追加または編集するかを選択します。**[アクションを編集する]** ページで、**[アクション名]** に自分のアクション名を入力します。**[アクションプロバイダー]** で、**[GitHub (GitHub アプリ経由)]** を選択します。

1. 次のいずれかを行います。
   + [**接続**] でプロバイダへの接続をまだ作成していない場合は、[**GitHub への接続**] を選択します。ステップ 2: GitHub への接続を作成する手順に進みます。
   + [**接続**] でプロバイダへの接続を既に作成している場合は、その接続を選択します。ステップ 3：接続のソースアクションを保存するに進みます。

### ステップ２：GitHub への接続を作成する
<a name="connections-github-console-create"></a>

接続の作成を選択した後、[**GitHub に接続する**] ページが表示されます。

![\[GitHub の初期の接続ページを示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/github-conn.png)


**GitHub への接続を作成するには**

1. [**GitHub connection settings**] で、[**Connection name**] に接続名が表示されます。**[Connect to GitHub]** (GitHub に接続) を選択します。アクセス要求のページが表示されます。

1. **GitHub の AWS コネクタの承認**を選択します。接続ページには [**GitHub Apps**] フィールドが表示されます。  
![\[[GitHub Apps] フィールドを含む GitHub の初期の接続ページを示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/github-conn-access-app.png)

1. [**GitHub Apps**] (Bitbucket アプリ) で、アプリのインストールを選択するか、[**Install a new app**] (新しいアプリをインストールする) を選択してアプリを作成します。

   特定のプロバイダーへのすべての接続に対してアプリを 1 つインストールします。 AWS Connector for GitHub アプリを既にインストールしている場合は、それを選択してこのステップをスキップします。
**注記**  
[ ユーザーアクセストークン](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)を作成する場合は、 Connector for GitHub AWS アプリが既にインストールされていることを確認し、アプリのインストールフィールドを空のままにします。CodeConnections は、ユーザーアクセストークンを接続に使用します。

1. **Install AWS Connector for GitHub** ページで、アプリをインストールするアカウントを選択します。
**注記**  
アプリは、GitHub アカウントごとに 1 回だけインストールします。アプリをインストール済みである場合は、**Configure** (設定) をクリックしてアプリのインストールの変更ページに進むか、戻るボタンでコンソールに戻ることができます。

1. **「Install AWS Connector for GitHub**」ページで、デフォルトのままにして、**「Install**」を選択します。

1. [**Connect to GitHub**] ページで、新規インストールの接続 ID が **GitHub Apps** に表示されます。**接続** を選択します。

### ステップ 3: GitHub のソースアクションを保存する
<a name="connections-github-console-save"></a>

[**アクションを編集**] ページで次の手順を使用し、ソースアクションを接続情報とともに保存します。

**GitHub のソースアクションを保存するには**

1. [**リポジトリ名**] で、サードパーティーのリポジトリの名前を選択します。

1. **[パイプライントリガー]** で、アクションが CodeConnections アクションである場合は、トリガーを追加できます。パイプライントリガー設定を構成し、必要に応じてトリガーでフィルタリングするには、「[コードプッシュまたはプルリクエストイベントタイプを使用してトリガーを追加する](pipelines-filter.md)」で詳細を参照してください。

1. [**Output artifact format (出力アーティファクトのフォーマット)**] で、アーティファクトのフォーマットを選択する必要があります。
   + デフォルトのメソッドを使用して GitHub アクションからの出力アーティファクトを保存するには、[**CodePipeline default**] を選択します。アクションは、Bitbucket リポジトリからファイルにアクセスし、パイプラインアーティファクトストアの ZIP ファイルにアーティファクトを保存します。
   + リポジトリへの URL 参照を含む JSON ファイルを保存して、ダウンストリームのアクションで Git コマンドを直接実行できるようにするには、[**Full clone (フルクローン)**] を選択します。このオプションは、CodeBuild ダウンストリームアクションでのみ使用できます。

      このオプションを選択した場合は、[Bitbucket、GitHub、GitHub Enterprise Server、または GitLab.com に接続するための CodeBuild GitClone アクセス許可を追加します。](troubleshooting.md#codebuild-role-connections) で示されるように CodeBuild プロジェクトサービスロールの権限を更新する必要があります。[**完全クローン**] オプションを使用する方法を示すチュートリアルについては、[チュートリアル: CodeCommit パイプラインソースで完全なクローンを使用する](tutorials-github-gitclone.md) を参照してください。

1. ウィザード上で [**次へ**] または [**保存**] を [**アクションを編集**] ページで選択します。

## GitHub (CLI) への接続を作成する
<a name="connections-github-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して接続を作成できます。

これを行うには、**create-connection** コマンドを使用します。

**重要**  
 AWS CLI または を通じて作成された接続 AWS CloudFormation は、デフォルトで `PENDING`ステータスです。CLI または との接続を作成したら CloudFormation、コンソールを使用して接続を編集し、ステータスを にします`AVAILABLE`。

**接続を作成するには**

1. ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。を使用して **create-connection** コマンド AWS CLI を実行し、接続`--connection-name`の `--provider-type`と を指定します。この例では、サードパーティープロバイダー名は `GitHub` で、指定された接続名は `MyConnection` です。

   ```
   aws codestar-connections create-connection --provider-type GitHub --connection-name MyConnection
   ```

   成功した場合、このコマンドは次のような接続 ARN 情報を返します。

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. コンソールを使用して接続を完了します。詳細については、「[Update a pending connection](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html)」を参照してください。

1. パイプラインはデフォルトで、接続ソースリポジトリへのコードのプッシュ時に変更を検出するようになっています。パイプライントリガーを手動リリース用または Git タグ用に設定するには、以下のいずれかを行います。
   + 手動リリースでのみ開始するようにパイプラインのトリガー設定を構成するには、設定に以下の行を追加します。

     ```
     "DetectChanges": "false",
     ```
   + トリガーでフィルタリングするようにパイプライントリガー設定を構成する方法の詳細については、「[コードプッシュまたはプルリクエストイベントタイプを使用してトリガーを追加する](pipelines-filter.md)」を参照してください。例えば、以下では、パイプライン JSON 定義のパイプラインレベルにタグを追加します。この例では、`release-v0` と `release-v1` が包含する Git タグで、`release-v2` が除外する Git タグです。

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```