

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

# GitLab セルフマネージドの接続
<a name="connections-gitlab-managed"></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 で GitLab セルフマネージドソースアクションを追加するには、次のいずれかを選択できます。
+ CodePipeline コンソールの **[パイプラインの作成]** ウィザードまたは **[アクションの編集]** ページを使用して、**[GitLab セルフマネージド]** プロバイダーオプションを選択します。アクションを追加するには [GitLab セルフマネージドへの接続を作成する (コンソール)](#connections-gitlab-managed-console) を参照してください。このコンソールは、ホストリソースと接続リソースの作成に役立ちます。
+ CLI を使用して、次の通りに `CreateSourceConnection` アクションのアクション設定を `GitLabSelfManaged` プロバイダに追加し、リソースを作成します。
  + 接続リソースを作成するには、[GitLab セルフマネージドへのホストと接続を作成する (CLI)](#connections-gitlab-managed-cli) を参照してCLI でホストリソースと接続リソースを作成します。
  + `CreateSourceConnection` でのアクション設定の例を [CodeStarSourceConnection (Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com、および GitLab セルフマネージドアクションの場合)](action-reference-CodestarConnectionSource.md) で使用し、[パイプラインを作成する (CLI)](pipelines-create.md#pipelines-create-cli) で表示されるようにアクションを追加します。

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

開始する前に:
+ GitLab でアカウントを作成済みで、セルフマネージドインストールの GitLab Enterprise Edition または GitLab Community Edition を持っている必要があります。詳細については、[https://docs.gitlab.com/ee/subscriptions/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/) を参照してください。
**注記**  
Connections は、接続の作成と承認に使用されたアカウント用のアクセスだけを提供します。
**注記**  
GitLab で、自分が**所有者**ロールを持っているリポジトリへの接続を作成すると、その接続を CodePipeline などのリソースで使用できます。グループ内のリポジトリでは、グループの所有者である必要はありません。
+ スコープダウンされたアクセス許可: api のみで GitLab 個人アクセストークン (PAT) を作成済みである必要があります。詳細については、[https://docs.gitlab.com/ee/user/profile/personal\$1access\$1tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) を参照してください。PAT を作成して使用するには、管理者である必要があります。
**注記**  
PAT はホストの認可に使用され、それ以外の方法で保存または接続に使用されることはありません。ホストを設定するには、一時的な PAT を作成し、ホストを設定した後に PAT を削除できます。
+ ホストを事前に設定することもできます。VPC の有無にかかわらず、ホストをセットアップできます。VPC 設定の詳細とホストの作成に関する追加情報については、「[ホストの作成](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)」を参照してください。

**Topics**
+ [GitLab セルフマネージドへの接続を作成する (コンソール)](#connections-gitlab-managed-console)
+ [GitLab セルフマネージドへのホストと接続を作成する (CLI)](#connections-gitlab-managed-cli)

## GitLab セルフマネージドへの接続を作成する (コンソール)
<a name="connections-gitlab-managed-console"></a>

以下のステップを使用して、CodePipeline コンソールで GitLab セルフマネージドリポジトリ用の接続アクションを追加します。

**注記**  
GitLab セルフマネージド接続は、接続の作成に使用された GitLab セルフマネージドアカウントが所有するリポジトリへのアクセスのみを提供します。

**開始する前に:**

GitLab セルフマネージドへのホスト接続のためには、接続のホストリソースを作成する手順を完了している必要があります。[[接続のホストを管理する](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-hosts.html)] を参照してください。

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

**パイプラインを作成または修正するには**

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

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

1. 次のいずれかを行います。
   + **[接続]** で、プロバイダーへの接続をまだ作成していない場合は、**[GitLab セルフマネージドへの接続]** を選択します。「ステップ 2: GitLab セルフマネージドへの接続を作成する」に進みます。
   + プロバイダーへの接続を作成済みの場合は、**[接続]** で接続を選択して、「ステップ 3: GitLab セルフマネージドソースアクションを保存する」に進みます。

### ステップ 2: GitLab セルフマネージドへの接続を作成する
<a name="connections-gitlab-managed-console-create"></a>

接続の作成を選択した後、**[GitLab セルフマネージドへの接続]** ページが表示されます。

**GitLab セルフマネージドに接続するには**

1. [**Connection name**] (接続名) に、接続の名前を入力します。

1. [**URL**] に、サーバーのエンドポイントを入力します。
**注記**  
提供された URL が既に接続用のホストのセットアップに使用されていた場合、そのエンドポイント用に以前に作成されたホストリソース ARN を選択するように求められます。

1. Amazon VPC でサーバーを起動し、VPC で接続する場合は、**[VPC を使用]** を選択して、VPC の情報を指定します。

1. **[GitLab セルフマネージドへの接続]** を選択します。作成された接続は、**Pending** (保留中) のステータスで表示されます。指定したサーバ情報との接続用に、ホストリソースが作成されます。ホスト名には、URL が使用されます。

1. **保留中の接続の更新**を選択します。

1. プロバイダーにアクセスし続けることを確認するリダイレクトメッセージを示すページが開いた場合は、**[続行]** を選択します。プロバイダーの承認を入力します。

1. **[*host\$1name* のセットアップ]** ページが表示されます。**[個人アクセストークンを提供]** で、範囲を絞ったアクセス許可「`api`」のみを GitLab PAT に付与します。
**注記**  
PAT を作成して使用できるのは管理者のみです。

   [**続行**] をクリックしてください。  
![\[新しいホストの GitLab セルフマネージド個人アクセストークンエントリを示すコンソールのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/connections-create-glsm-pat.png)

1. 接続ページには、作成された接続が **Available (使用可能) **ステータスで表示されます。　

### ステップ 3: GitLab セルフマネージドソースアクションを保存する
<a name="connections-gitlab-managed-console-save"></a>

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

**接続でソースアクションを完了して保存するには**

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

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

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

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

## GitLab セルフマネージドへのホストと接続を作成する (CLI)
<a name="connections-gitlab-managed-cli"></a>

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

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

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

 AWS Command Line Interface (AWS CLI) を使用して、インストールされた接続用のホストを作成できます。

ホストを使用して、サードパーティーのプロバイダがインストールされているインフラストラクチャのエンドポイントを表します。CLI でホストの作成を完了すると、ホストは [**Pending**] ステータスになります。次に、ホストのステータスが [**Available**] に移行するよう設定もしくは登録します。ホストが使用可能になったら、接続を作成する手順を完了します。

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

**重要**  
を通じて作成されたホスト AWS CLI は、デフォルトで `Pending`ステータスになります。CLI でホストを作成後、コンソールまたは CLI でホストを設定し、ステータスを `Available` にします。

**ホストを作成するには**

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

   ```
   aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

   成功した場合、このコマンドは次のようなホストの Amazonリソースネーム（ARN）情報を返します。

   ```
   {
       "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   この手順の後、ホストのステータスは `PENDING` になります。

1. コンソールでホストのセットアップを完了し、ホストのステータスを `Available` に移行します。

**GitLab セルフマネージドへの接続を作成するには**

1. ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。を使用して **create-connection** コマンド AWS CLI を実行し、接続`--connection-name`の `--host-arn`と を指定します。

   ```
   aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

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

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

1. コンソールを使用して、保留中の接続を設定します。

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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```