

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

# CI/CD パイプラインへの接続
<a name="configuring-capabilities-for-aws-devops-agent-connecting-to-cicd-pipelines-index"></a>

CI/CD パイプライン統合により、 AWS DevOps Agent はデプロイをモニタリングし、調査中にコードの変更を運用上のインシデントに関連付けることができます。CI/CD プロバイダーを接続することで、エージェントはデプロイイベントを追跡し、 AWS リソースに関連付けて、インシデント対応中に潜在的な根本原因を特定できます。

AWS DevOps Agent は、2 ステップのプロセスを通じて一般的な CI/CD プラットフォームとの統合をサポートします。

1. **アカウントレベルの登録** – CI/CD プロバイダーを AWS アカウントレベルで 1 回登録します。

1. **エージェントスペース接続** – 組織のニーズに基づいて、特定のプロジェクトまたはリポジトリを個々のエージェントスペースに接続します。

このアプローチにより、各スペースでモニタリングされるプロジェクトをきめ細かく制御しながら、複数のエージェントスペース間で CI/CD プロバイダー登録を共有できます。

## サポートされている CI/CD プロバイダー
<a name="supported-cicd-providers"></a>

AWS DevOps Agent は、次の CI/CD プラットフォームをサポートしています。
+ **GitHub** – AWS DevOps Agent GitHub アプリを使用して [GitHub.com](http://GitHub.com) からリポジトリを接続します。 GitHub 
+ **GitLab** – [GitLab.com,](http://gitlab.com)マネージド GitLab インスタンス、またはパブリックにアクセス可能なセルフホスト GitLab デプロイからプロジェクトを接続します。

**トピック**
+ [GitHub の接続](connecting-to-cicd-pipelines-connecting-github.md)
+ [GitLab の接続](connecting-to-cicd-pipelines-connecting-gitlab.md)

# GitHub の接続
<a name="connecting-to-cicd-pipelines-connecting-github"></a>

GitHub 統合により、 AWS DevOps Agent はコードリポジトリにアクセスし、インシデント調査中にデプロイイベントを受信できます。この統合は、GitHub のアカウントレベルの登録と、特定のリポジトリを個々のエージェントスペースに接続するという 2 つのステップのプロセスに従います。

AWS DevOps Agent は、GitHub.com (SaaS) インスタンスと GitHub Enterprise Server (セルフホスト) インスタンスの両方をサポートしています。

## 前提条件
<a name="prerequisites"></a>

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 の登録 (アカウントレベル)
<a name="registering-github-account-level"></a>

GitHub は AWS アカウントレベルで登録され、そのアカウントのすべてのエージェントスペース間で共有されます。 AWS アカウントごとに 1 回だけ GitHub を登録する必要があります。

### ステップ 1: パイプラインプロバイダーに移動する
<a name="step-1-navigate-to-pipeline-providers"></a>

1.  AWS マネジメントコンソールにサインインする

1.  AWS DevOps エージェントコンソールに移動する

1. **機能**タブに移動する

1. **「パイプライン**」セクションで、**「追加**」をクリックします。

1. 利用可能なプロバイダーのリストから **GitHub** を選択する

GitHub がまだ登録されていない場合は、最初に登録するように求められます。

### ステップ 2: 接続タイプを選択する
<a name="step-2-choose-connection-type"></a>

GitHub アカウント/組織を登録する」画面で、ユーザーとして接続するか組織として接続するかを選択します。
+ **ユーザー** – ユーザーネームとプロファイルを持つ個人 GitHub アカウント
+ **組織** – 複数のユーザーが一度に複数のプロジェクトでコラボレーションできる共有 GitHub アカウント

GitHub Enterprise Server インスタンスに接続する場合は、**GitHub Enterprise Server **の使用チェックボックスをオンにし、インスタンスの HTTPS URL (例: ) を入力します`https://github.example.com`。

GitHub Enterprise Server インスタンスがパブリックにアクセスできない場合は、オプションでプライベート接続を設定して、 AWS DevOps Agent がインスタンスに安全に到達できるようにします。詳細については、「[プライベートにホストされたツールへの接続](configuring-capabilities-for-aws-devops-agent-connecting-to-privately-hosted-tools.md)」を参照してください。

**注記**  
** URL に `/api/v3`または末尾のパスを含めないでください。基本 URL のみを入力します。

### ステップ 3: GitHub アプリを設定する
<a name="step-3-set-up-the-github-app"></a>

**送信**をクリックして、アプリのセットアッププロセスを開始します。次のステップは、GitHub.com と GitHub Enterprise Server のどちらに接続するかによって異なります。

#### GitHub.com の場合
<a name="for-githubcom"></a>

1. GitHub にリダイレクトされ、 AWS DevOps Agent GitHub アプリがインストールされます。

1. アプリをインストールするアカウントまたは組織を選択します。

1. アプリを使用すると、 AWS DevOps Agent は、デプロイイベントなど、接続されたリポジトリからイベントを受信できます。

#### GitHub Enterprise Server の場合
<a name="for-github-enterprise-server"></a>

GitHub Enterprise Server は GitHub App Manifest フローを使用します。これにより、インスタンスに新しい GitHub App が自動的に設定されます。これには、GitHub Enterprise Server インスタンスへの 2 つのリダイレクトが含まれます。

1. ブラウザが GitHub Enterprise Server インスタンスのGitHub アプリの作成」ページにリダイレクトされます。

1. アプリ名があらかじめ入力されています。必要に応じて名前を自由に変更できます。**GitHub アプリの作成**をクリックします。

1.  AWS DevOps エージェントにリダイレクトされ、マニフェストコードをアプリケーションの認証情報と交換します。

### ステップ 4: リポジトリを選択してインストールを完了する
<a name="step-4-select-repositories-and-complete-installation"></a>

1. GitHub アプリ**のインストールと認可**ページが表示されます。

1. アプリがアクセスできるようにするリポジトリを選択します。
   + **すべてのリポジトリ** – 現在および将来のすべてのリポジトリへのアクセスを許可します。
   + **リポジトリのみを選択する** – アカウントまたは組織から特定のリポジトリを選択します。

1. **Install & Authorize** をクリックします。

1.  AWS DevOps エージェントコンソールにリダイレクトされ、GitHub がアカウントレベルで登録済みとして表示されます。

## エージェントスペースへのリポジトリの接続
<a name="connecting-repositories-to-an-agent-space"></a>

アカウントレベルで GitHub を登録したら、特定のリポジトリを個々のエージェントスペースに接続できます。

1.  AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

1. **機能**タブに移動する

1. **パイプライン**セクションで、**追加** をクリックします。

1. 利用可能なプロバイダーのリストから **GitHub** を選択する

1. このエージェントスペースに関連するリポジトリのサブセットを選択する

1. **追加**をクリックして接続を完了します

組織のニーズに応じて、異なるリポジトリのセットを異なるエージェントスペースに接続できます。

## GitHub アプリについて
<a name="understanding-the-github-app"></a>

 AWS DevOps エージェント GitHub アプリ:
+ リポジトリへの読み取り専用アクセスをリクエストする
+ デプロイイベントおよびその他のリポジトリイベントを受信します
+  AWS DevOps エージェントによるコード変更と運用インシデントの関連付けを許可する
+ GitHub 設定を使用していつでもアンインストールできます

GitHub Enterprise Server の場合、GitHub アプリは登録時にインスタンスに自動的に作成されます。アプリのリポジトリアクセスを管理したり、**設定 > アプリケーション > インストールされた GitHub Apps** を使用してアンインストールしたりできます。アプリ定義を完全に削除するには、**設定 > デベロッパー設定 > GitHub Apps** に移動します。

## GitHub 接続の管理
<a name="managing-github-connections"></a>
+ **リポジトリアクセスの更新** – GitHub アプリがアクセスできるリポジトリを変更するには、GitHub アカウントまたは組織設定 (または GitHub Enterprise Server インスタンス設定) に移動し、インストールされている GitHub アプリに移動し、 AWS DevOps エージェントアプリ設定を変更します。
+ **接続されたリポジトリの表示** – AWS DevOps エージェントコンソールで、エージェントスペースを選択し、機能タブに移動して、パイプラインセクションの接続されたリポジトリを表示します。
+ **GitHub 接続の削除** – GitHub をエージェントスペースから切断するには、パイプラインセクションで接続を選択し、**削除**をクリックします。GitHub アプリを完全にアンインストールするには、GitHub アカウントまたは組織設定からアンインストールします。GitHub Enterprise Server の場合、GitHub アプリは登録時にインスタンスに直接作成されるため、オプションで以下の両方を実行してアプリを完全にクリーンアップできます。
  + **アプリをアンインストール**する – **設定 > アプリケーション > インストールされた GitHub アプリ**に移動し、アプリで**設定**をクリックしてアンインストールします。
  + **アプリの削除** – **設定 > デベロッパー設定 > GitHub **アプリに移動し、アプリを選択し、**詳細**タブに移動して、**GitHub アプリの削除**を選択します。**警告:** GitHub アプリの削除は永続的であり、元に戻すことはできません。削除した場合は、 AWS DevOps エージェントコンソールの最初から GitHub Enterprise Server を再登録して、新しいアプリケーションを作成する必要があります。

# GitLab の接続
<a name="connecting-to-cicd-pipelines-connecting-gitlab"></a>

GitLab 統合により、 AWS DevOps Agent は GitLab Pipelines からのデプロイをモニタリングし、インシデント対応中に因果調査を通知できます。この統合は、GitLab のアカウントレベルの登録と、特定のプロジェクトを個々のエージェントスペースに接続する 2 つのステップのプロセスに従います。

## GitLab の登録 (アカウントレベル)
<a name="registering-gitlab-account-level"></a>

GitLab は AWS アカウントレベルで登録され、そのアカウントのすべてのエージェントスペース間で共有されます。個々のエージェントスペースは、エージェントスペースに適用する特定のプロジェクトを選択できます。

### ステップ 1: パイプラインプロバイダーに移動する
<a name="step-1-navigate-to-pipeline-providers"></a>

1.  AWS マネジメントコンソールにサインインする

1.  AWS DevOps エージェントコンソールに移動する

1. **機能プロバイダー**ページに移動する (サイドナビゲーションからアクセス可能)

1. **Pipeline** の**「利用可能な**プロバイダー」セクションで **GitLab** を検索し、**登録**をクリックします

### ステップ 2: GitLab 接続を設定する
<a name="step-2-configure-gitlab-connection"></a>

GitLab 登録ページで、以下を設定します。

**接続タイプ** – 人として接続するかグループとして接続するかを選択します。
+ **Personal** (デフォルト) – ユーザー名とプロファイルを持つ個々の GitLab ユーザーアカウント
+ **グループ** – GitLab では、グループを使用して 1 つ以上の関連プロジェクトを同時に管理します。

**GitLab インスタンスタイプ** – 接続先の GitLab インスタンスのタイプを選択します。
+ **GitLab.com** (デフォルト) – パブリック GitLab サービス
+ **パブリックにアクセス可能なセルフホスト型 GitLab** – ** GitLab セルフホスト型エンドポイントの使用**チェックボックスをオンにし、GitLab インスタンスへの URL を指定します。

**注記**  
** 現在、パブリックにアクセス可能な GitLab インスタンスのみがサポートされています。

**アクセストークン** – GitLab 個人用アクセストークンを提供します。

1. 別のブラウザタブで、GitLab アカウントにログインします。

1. ユーザー設定に移動し、**アクセストークン**を選択する

1. 次のアクセス許可を持つ新しい個人用アクセストークンを作成します。
   + `read_repository` – リポジトリコンテンツにアクセスするために必要です
   + `read_virtual_registry` – 仮想レジストリ情報にアクセスするために必要です
   + `read_registry` – レジストリ情報にアクセスするために必要です
   + `api` – 読み取りおよび書き込み API アクセスに必要です
   + `self_rotate` - トークンのローテーションに必要です。この機能は現在、 AWS DevOps エージェントではサポートされていませんが、後日サポートされます。これで を追加すると、今後新しいトークンを作成する必要がなくなります。

1. トークンの有効期限を現在の日付から最大 365 日に設定します。

1. 生成されたトークンをコピーする

1.  AWS DevOps エージェントコンソールに戻る

1. トークンを「アクセストークン」フィールドに貼り付けます。

### ステップ 3: 登録を完了する
<a name="step-3-complete-registration"></a>

**(オプション) タグ** – 組織の目的で GitLab 登録に AWS タグを追加します。

**次へ**をクリックして設定を確認し、**送信**をクリックして GitLab 登録プロセスを完了します。システムはアクセストークンを検証し、接続を確立します。

## エージェントスペースへのプロジェクトの接続
<a name="connecting-projects-to-an-agent-space"></a>

アカウントレベルで GitLab を登録したら、特定のプロジェクトを個々のエージェントスペースに接続できます。

1.  AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

1. **機能**タブに移動する

1. **パイプライン**セクションで、**追加**をクリックします。

1. 利用可能なプロバイダーのリストから **GitLab** を選択する

1. エージェントスペースに関連する GitLab プロジェクトを選択する

1. **保存 **をクリックします。

AWS DevOps エージェントは、GitLab Pipelines からのデプロイについてこれらのプロジェクトをモニタリングし、因果調査を通知します。

## GitLab 接続の管理
<a name="managing-gitlab-connections"></a>
+ **アクセストークンの更新** – アクセストークンの有効期限が切れるか、更新する必要がある場合は、アカウントレベルで GitLab 登録を変更することで、 AWS DevOps エージェントコンソールで更新できます。
+ **接続されたプロジェクトの表示** – AWS DevOps エージェントコンソールで、エージェントスペースを選択し、機能タブに移動して、パイプラインセクションで接続されたプロジェクトを表示します。
+ **GitLab 接続の削除** – GitLab プロジェクトをエージェントスペースから切断するには、パイプラインセクションで接続を選択し、**削除**をクリックします。GitLab 登録を完全に削除するには、まずすべてのエージェントスペースから削除してから、アカウントレベルで登録を削除します。