翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GitHub の接続
GitHub 統合により、 AWS DevOps Agent はコードリポジトリにアクセスし、インシデント調査中にデプロイイベントを受信できます。この統合は、GitHub のアカウントレベルの登録と、特定のリポジトリを個々のエージェントスペースに接続するという 2 つのステップのプロセスに従います。
AWS DevOps Agent は、GitHub.com (SaaS) インスタンスと GitHub Enterprise Server (セルフホスト) インスタンスの両方をサポートしています。
前提条件
GitHub を接続する前に、以下を確認してください。
AWS DevOps エージェント管理コンソールへのアクセス
管理者権限を持つ GitHub ユーザーアカウントまたは組織
アカウントまたは組織に GitHub アプリをインストールする認可
GitHub Enterprise Server の場合、以下も必要です。
HTTPS 経由でアクセス可能な GitHub Enterprise Server インスタンス (バージョン 3.x 以降)
GitHub Enterprise Server インスタンスの HTTPS URL (例:
https://github.example.com)(オプション) GitHub Enterprise Server インスタンスがパブリックにアクセスできない場合のプライベート接続
GitHub の登録 (アカウントレベル)
GitHub は AWS アカウントレベルで登録され、そのアカウントのすべてのエージェントスペース間で共有されます。各登録は、1 人の GitHub ユーザー、1 つの組織、または 1 つの GitHub Enterprise Server インスタンスに対応します。
ステップ 1: パイプラインプロバイダーに移動する
AWS マネジメントコンソールにサインインする
AWS DevOps エージェントコンソールに移動する
機能タブに移動する
パイプラインセクションで、追加 を選択します。
利用可能なプロバイダーのリストから GitHub を選択する
GitHub がまだ登録されていない場合は、最初に登録するように求められます。
ステップ 2: 接続タイプを選択する
GitHub アカウント/組織を登録する」画面で、ユーザーまたは組織として接続するかどうかを選択します。
ユーザー – ユーザーネームとプロファイルを持つ個人 GitHub アカウント
組織 – 複数のユーザーが一度に複数のプロジェクトでコラボレーションできる共有 GitHub アカウント
GitHub App の GitHub App アクセス許可を選択します。 GitHub アクセス許可レベルは、GitHub App がリポジトリで実行できるアクションを決定します。
読み取りと書き込み (デフォルト): GitHub アプリは読み取りアクセス許可と書き込みアクセス許可の両方をリクエストします。これにより、すべての機能が有効になります。DevOps エージェントは、インラインプルリクエストコメントの投稿、修正の提案、ワークフローのトリガーを行うことができます。
読み取り専用: GitHub App は読み取り専用アクセス許可のみをリクエストします。DevOps エージェントはコードとプルリクエストを表示できますが、コメントの投稿、修正の提案、ワークフローのトリガーはできません。
GitHub Enterprise Server インスタンスに接続する場合は、GitHub Enterprise Server の使用チェックボックスをオンにし、インスタンスの HTTPS URL を入力します (例: https://github.example.com)。
GitHub Enterprise Server インスタンスがパブリックにアクセスできない場合は、オプションでプライベート接続を設定して、 AWS DevOps Agent がインスタンスに安全に到達できるようにします。詳細については、「プライベートにホストされたツールへの接続」を参照してください。
注記
URL に /api/v3または末尾のパスを含めないでください。基本 URL のみを入力します。
ステップ 3: GitHub アプリを設定する
送信 を選択して、アプリのセットアッププロセスを開始します。次のステップは、GitHub.com と GitHub Enterprise Server のどちらに接続するかによって異なります。
GitHub.com の場合
GitHub にリダイレクトされ、 AWS DevOps Agent GitHub アプリがインストールされます。
アプリをインストールするアカウントまたは組織を選択します。
アプリを使用すると、 AWS DevOps Agent は、デプロイイベントなど、接続されたリポジトリからイベントを受信できます。
GitHub Enterprise Server の場合
GitHub Enterprise Server は GitHub App Manifest フローを使用します。これにより、インスタンスに新しい GitHub App が自動的に設定されます。これには、GitHub Enterprise Server インスタンスへの 2 つのリダイレクトが含まれます。
ブラウザは GitHub Enterprise Server インスタンスのGitHub アプリの作成」ページにリダイレクトされます。
アプリ名が事前に入力されています。必要に応じて名前を自由に変更できます。Create GitHub App (GitHub アプリの作成) を選択します。
AWS DevOps エージェントにリダイレクトされ、マニフェストコードをアプリケーションの認証情報と交換します。
ステップ 4: リポジトリを選択してインストールを完了する
GitHub アプリのインストールと認可ページが表示されます。
アプリがアクセスできるようにするリポジトリを選択します。
すべてのリポジトリ – 現在および将来のすべてのリポジトリへのアクセスを許可します。
リポジトリのみを選択 – アカウントまたは組織から特定のリポジトリを選択します。
[インストールして承認] を選択します。
AWS DevOps エージェントコンソールにリダイレクトされ、GitHub がアカウントレベルで登録済みとして表示されます。
エージェントスペースへのリポジトリの接続
アカウントレベルで GitHub を登録したら、特定のリポジトリを個々のエージェントスペースに接続できます。
AWS DevOps エージェントコンソールで、エージェントスペースを選択します。
機能タブに移動する
パイプラインセクションで、追加 を選択します。
利用可能なプロバイダーのリストから GitHub を選択する
使用するリポジトリを含む GitHub 登録を選択します。
このエージェントスペースに関連するリポジトリのサブセットを選択する
追加を選択して接続を完了します
組織のニーズに応じて、異なるリポジトリのセットを異なるエージェントスペースに接続できます。1 つのエージェントスペースで複数の登録のリポジトリを使用できます。別の登録からリポジトリを追加するには、以下の手順を繰り返します。
コードレビューと自動テストの設定
GitHub 接続ステップでリポジトリを選択すると、コードレビューと自動テストセクションに自動的に追加されます。このセクションでは、 リリース準備状況コードレビューおよび自動テスト機能を自動的にトリガーするリポジトリを設定します。
コードレビューと自動テストの設定には以下が含まれます。
機能 — 各リポジトリのコードレビューと自動テスト機能を選択します。このセクションでは、リポジトリごとに 2 つの設定を提供します。
自動トリガー変更レビュー — リポジトリに対して有効にすると、DevOps Agent はプルリクエストが開いたり更新されたりリリース準備状況コードレビューするたびに を自動的に実行します。レビューの結果は、プルリクエストにインラインコメントとして表示されます。これは、接続されているすべてのリポジトリでデフォルトで有効になっています。
自動検証テスト — リポジトリで有効にすると、DevOps Agent はコードレビュー中にマネージド検証環境でコード変更を構築、実行、テストします。これにより、静的分析以外の機能検証が可能になります。詳細については、「自動検証テスト」を参照してください。これは、接続されているすべてのリポジトリでデフォルトで有効になっています。
リポジトリリスト — 接続ステップ中に選択したすべてのリポジトリを表示します。検索フィールドを使用して、リポジトリを名前でフィルタリングします。各リポジトリには、両方の機能に対して独立したチェックボックスがあります。
ランタイムロール (オプション) — 選択したリポジトリで自動機能を実行するために DevOps Agent が引き受ける IAM ロールを選択します。このロールは、プライベートパッケージレジストリやアーティファクトストレージシステムなど、ビルド中に必要な内部サービスにアクセスするときに使用されます。プライマリエージェントロールとは異なるロールを使用することをお勧めします。
自動レビューを設定するには:
リポジトリを接続したら、GitHub 統合設定のコードレビューと自動テストセクションに移動します。
リポジトリごとに、自動プルリクエストレビューが必要かどうかに応じて、自動トリガー変更レビュー機能を有効または無効にします。
リポジトリごとに、マネージド検証環境で自動検証テストを行うかどうかに応じて、自動検証テスト機能を有効または無効にします。
必要に応じて、選択したリポジトリで自動機能を実行するときに DevOps Agent が引き受けるランタイムロールドロップダウンから IAM ロールを選択します。
保存を選択して設定を適用します。
設定すると、自動トリガー変更レビューが有効になっているリポジトリ内の新しいプルリクエストによって、リリース準備状況コードレビューが自動的にトリガーされます。自動検証テストも有効になっている場合、レビューには検証環境での機能検証が含まれます。コードレビューの詳細については、「」を参照してくださいリリース準備状況コードレビュー。
GitHub アプリについて
AWS DevOps エージェント GitHub アプリ:
リポジトリへのアクセスをリクエストする — GitHub アプリのインストール中に特定のアクセス許可を確認できます
デプロイイベントおよびその他のリポジトリイベントを受信します
AWS DevOps エージェントによるコード変更と運用インシデントの関連付けを許可する
GitHub 設定を使用していつでもアンインストールできます
GitHub Enterprise Server の場合、GitHub アプリは登録時にインスタンスに自動的に作成されます。アプリのリポジトリアクセスを管理したり、設定 > アプリケーション > インストールされた GitHub Apps を使用してアンインストールしたりできます。アプリ定義を完全に削除するには、設定 > デベロッパー設定 > GitHub Apps に移動します。
GitHub アプリのアクセス許可の更新
AWS DevOps Agent は、新機能をサポートするために GitHub アプリをインストールした後にアクセス許可の更新をリクエストすることがあります。この場合:
アクセス許可の更新リクエストに関する通知が GitHub から届きます。
更新の詳細を確認して、リクエストされている新しいアクセス許可を理解します。
新しいアクセス許可を受け入れる を選択して、更新されたアクセス許可を付与します。
サービスまたはアプリケーションに変更を加える必要はありません。更新されたアクセス許可を受け入れると、 AWS DevOps Agent が GitHub にリクエストする次のインストールアクセストークンに、新しいアクセス許可が自動的に含まれます。
注記
アクセス許可の更新を受け入れるまで、 AWS DevOps Agent は以前に付与されたアクセス許可で動作し続けます。更新されたアクセス許可に依存する新機能は、リクエストを承認するまで使用できません。新しいアクセス許可を受け入れない場合、アプリは現在のアクセス許可を保持します。
リクエストされた のアクセス許可
次の表は、 AWS DevOps Agent GitHub App がリクエストする各アクセス許可と、それが必要な理由を示しています。
登録時に読み取り専用を選択した場合、GitHub アプリは、次の表の各アクセス許可に対してのみ読み取りレベルのアクセスをリクエストします。読み取り専用アクセス許可では、GitHub アプリは 目的 列にリストされている書き込みレベルのアクションを実行できません。
| アクセス許可 | アクセスレベル | 目的 |
|---|---|---|
| チェック | 読み取りと書き込み | プルリクエストでチェックが実行されると、リリース準備状況コードレビューの結果が表示され、レビューステータスが GitHub UI に直接表示されます。 |
| ワークフロー | 読み取りと書き込み | ワークフロー定義を読み、CI/CD パイプラインでリリーステスト用の GitHub Actions ワークフローをトリガーします。 |
| アクション | 読み取りと書き込み | インシデント調査とリリーステスト中にGitHub Actions ワークフロー実行をモニタリングし、実行ログにアクセスします。 |
| 内容 | 読み取りと書き込み | コードレビュー分析と依存関係マッピング用のリポジトリソースコードを読み取ります。書き込みアクセスにより、エージェントは特定された問題の修正を提案できます。 |
| プルリクエスト | 読み取りと書き込み | プルリクエストの詳細を読み取り、自動コードレビューをトリガーします。書き込みアクセスを使用すると、検出結果と推奨される修正を含むインラインレビューコメントを投稿できます。 |
GitHub 接続の管理
リポジトリアクセスの更新 – GitHub アプリがアクセスできるリポジトリを変更するには、GitHub アカウントまたは組織設定 (または GitHub Enterprise Server インスタンス設定) に移動し、インストールされている GitHub アプリに移動し、 AWS DevOps エージェントアプリ設定を変更します。
接続されたリポジトリの表示 – AWS DevOps エージェントコンソールで、エージェントスペースを選択し、機能タブに移動して、パイプラインセクションの接続されたリポジトリを表示します。
GitHub 接続の削除 – GitHub をエージェントスペースから切断するには、パイプラインセクションで接続を選択し、削除を選択します。GitHub アプリを完全にアンインストールするには、GitHub アカウントまたは組織設定からアンインストールします。GitHub Enterprise Server の場合、GitHub アプリは登録時にインスタンスに直接作成されるため、オプションで以下の両方を実行してアプリ全体をクリーンアップできます。
アプリをアンインストールする – 設定 > アプリケーション > インストールされた GitHub Apps に移動し、アプリで設定を選択し、アンインストールします。
アプリの削除 – 設定 > デベロッパー設定 > GitHub アプリに移動し、アプリを選択し、詳細タブに移動して、GitHub アプリの削除を選択します。警告: GitHub アプリの削除は永続的であり、元に戻すことはできません。削除した場合は、 AWS DevOps エージェントコンソールの最初から GitHub Enterprise Server を再登録して、新しいアプリケーションを作成する必要があります。