GitHub コネクション - AWS CodePipeline

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

GitHub コネクション

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

注記

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

CodePipeline で GitHub または GitHub Enterprise Cloud リポジトリのソースアクションを追加するには、次のいずれかを選択できます。

注記

[設定] からデベロッパーツール コンソールを使用して、接続を作成することもできます。[接続を作成する] を参照してください。

開始する前に:

  • GitHub でアカウントを作成しておく必要があります。

  • GitHub のコードリポジトリを予め作成しておく必要があります。

  • 2019 年 12 月 18 日より前に作成された CodePipeline サービスロールを使用する場合は、codestar-connections:UseConnection を AWS CodeStar の接続に使用するアクセス許可の更新が必要になることがあります。手順については、CodePipeline サービスロールにアクセス許可を追加する を参照してください。

注記

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

GitHub (コンソール) への接続を作成する

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

注記

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

ステップ1:パイプラインを作成または修正するには

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

  2. 次のいずれかを選択します 。

    • パイプラインの作成を選択します。[パイプラインを作成する] の手順に従い最初の画面を完了し、[] を選択します。ソースページのソースプロバイダーで、GitHub (GitHub GitHub アプリ経由) を選択します。

    • 既存のパイプラインを編集することを選択します。[Edit]、[Edit Stage] の順に選択します。ソースアクションを追加または編集するかを選択します。[アクションの編集] ページで、[Action name (アクション名)] に自分のアクション名を入力します。アクションプロバイダーで、GitHub (GitHub アプリ経由) を選択します。

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

    • [接続] でプロバイダへの接続をまだ作成していない場合は、[GitHub への接続] を選択します。ステップ 2: GitHub への接続を作成する手順に進みます。

    • [接続] でプロバイダへの接続を既に作成している場合は、その接続を選択します。ステップ 3:接続のソースアクションを保存するに進みます。

ステップ2:GitHub への接続を作成する

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

GitHub の初期の接続ページを示すコンソールのスクリーンショット。
GitHub への接続を作成するには
  1. [GitHub connection settings] で、[Connection name] に接続名が表示されます。[Connect to GitHub] (GitHub に接続) を選択します。アクセス要求のページが表示されます。

  2. GitHub の AWS コネクタの承認を選択します。接続ページには [GitHub Apps] フィールドが表示されます。

    [GitHub Apps] フィールドを含む GitHub の初期の接続ページを示すコンソールのスクリーンショット。
  3. [GitHub Apps] (Bitbucket アプリ) で、アプリのインストールを選択するか、[Install a new app] (新しいアプリをインストールする) を選択してアプリを作成します。

    特定のプロバイダーへのすべての接続に対してアプリを 1 つインストールします。 AWS Connector for GitHub アプリを既にインストールしている場合は、それを選択してこのステップをスキップします。

    注記

    ユーザーアクセストークンを作成する場合は、 Connector for GitHub AWS アプリがインストール済みであることを確認し、アプリのインストールフィールドを空のままにします。CodeConnections は、ユーザーアクセストークンを接続に使用します。

  4. AWS Connector for GitHub のインストールページで、アプリをインストールするアカウントを選択します。

    注記

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

  5. GitHub 用 AWS コネクタのインストールページで、デフォルトのままにして、インストールを選択します。

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

ステップ 3: GitHub のソースアクションを保存する

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

GitHub のソースアクションを保存するには
  1. [リポジトリ名] で、サードパーティーのリポジトリの名前を選択します。

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

  3. [Output artifact format (出力アーティファクトのフォーマット)] で、アーティファクトのフォーマットを選択する必要があります。

    • デフォルトのメソッドを使用して GitHub アクションからの出力アーティファクトを保存するには、[CodePipeline default] を選択します。アクションは、Bitbucket リポジトリからファイルにアクセスし、パイプラインアーティファクトストアの ZIP ファイルにアーティファクトを保存します。

    • リポジトリへの URL 参照を含む JSON ファイルを保存して、ダウンストリームのアクションで Git コマンドを直接実行できるようにするには、[Full clone (フルクローン)] を選択します。このオプションは、CodeBuild ダウンストリームアクションでのみ使用できます。

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

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

GitHub (CLI) への接続を作成する

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

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

重要

AWS CLI または を介して作成された接続 AWS CloudFormation は、デフォルトで PENDINGステータスです。CLI または を使用して接続を作成したら AWS 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" }
  2. コンソールを使用して接続を完了します。詳細については、「Update a pending connection」を参照してください。

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

    • 手動リリースでのみ開始するようにパイプラインのトリガー設定を構成するには、設定に以下の行を追加します。

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

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