

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

# GitLab.com への接続
<a name="connections-gitlab"></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.com のソースアクションを追加するには、次のいずれかを選択できます。
+ CodePipeline コンソールの [**パイプラインの作成**] ウィザードまたは [**アクションの編集**] ページを使用して、[**GitLab**] プロバイダーオプションを選択します。アクションを追加するには [GitLab.com への接続を作成する (コンソール)](#connections-gitlab-console) を参照してください。このコンソールは、接続リソースの作成に役立ちます。
+ CLI を使用して、次の通りに `CreateSourceConnection` でのアクションのアクション設定を `GitLab` プロバイダに追加します。
  + 接続リソースを作成するには、[GitLab.com への接続を作成する (CLI)](#connections-gitlab-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.com で承認すると、アカウントにアクセスしてデータを処理するアクセス許可を AWS のサービスに付与したものとみなされます。また、アプリケーションをアンインストールすれば、アクセス許可をいつでも取り消すことができます。

開始する前に:
+ GitLab.com でアカウントを作成しておく必要があります。
**注記**  
Connections は、接続の作成と承認に使用されたアカウントで所有するリポジトリへのアクセスだけを提供します。
**注記**  
GitLab で、自分が**所有者**ロールを持っているリポジトリへの接続を作成すると、その接続を CodePipeline などのリソースを含むリポジトリで使用できます。グループ内のリポジトリでは、グループの所有者である必要はありません。
+ パイプラインのソースを指定するには、gitlab.com にリポジトリを作成しておく必要があります。

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

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

以下のステップを使用して、CodePipeline コンソールで GitLab 内のプロジェクト (リポジトリ) 用に接続アクションを追加します。

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

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

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

1. 次のいずれかを行います。
   + [**接続**] でプロバイダーへの接続をまだ作成していない場合は、[**GitLab への接続**] を選択します。ステップ 4 に進んで、接続を作成します。
   + [**接続**] でプロバイダへの接続を既に作成している場合は、その接続を選択します。ステップ 9 に進みます。
**注記**  
GitLab.com 接続が作成される前にポップアップウィンドウを閉じた場合は、ページを更新する必要があります。

1. GitLab.com リポジトリへの接続を作成するには、[**プロバイダーを選択する**] で、[**GitLab**] を選択します。[**接続名**] に、作成する接続の名前を入力します。　　　 **[GitLab に接続]** を選択します。  
![\[GitLab 用に選択された接続オプションを示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/connections-create-gitlab.png)

1. GitLab.com のサインインページが表示されたら、認証情報を使用してログインし、[**サインイン**] を選択します。

1. 初めて接続を承認する場合は、承認ページが表示され、GitLab.com アカウントにアクセスするための接続の承認を求めるメッセージが表示されます。

   [**承認**] を選択します。  
![\[GitLab.com アカウントの接続を承認するメッセージを示すスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/gitlab-authorization.png)

1. ブラウザは接続コンソールページに戻ります。**[GitLab 接続を作成]** の下で、新しい接続は **[接続名]** に表示されます。

1. **[GitLab に接続]** を選択します。

   CodePipeline コンソールに戻ります。
**注記**  
GitLab.com への接続が正常に作成されると、メインウィンドウに成功のバナーが表示されます。  
 現在のマシンで以前に GitLab にログインしたことがない場合は、ポップアップウィンドウを手動で閉じる必要があります。

1. [**リポジトリ名**] で、プロジェクトのパスと名前空間を指定して、GitLab 内のプロジェクトの名前を選択します。例えば、グループレベルのリポジトリの場合は、リポジトリ名を `group-name/repository-name` の形式で入力します。パスと名前空間の詳細については、[https://docs.gitlab.com/ee/api/projects.html\$1get-single-project](https://docs.gitlab.com/ee/api/projects.html#get-single-project) で `path_with_namespace` フィールドを参照してください。GitLab の名前空間の詳細については、[https://docs.gitlab.com/ee/user/namespace/](https://docs.gitlab.com/ee/user/namespace/) を参照してください。
**注記**  
GitLab 内のグループでは、プロジェクトのパスと名前空間を手動で指定する必要があります。例えば、グループ `mygroup` 内のリポジトリの名前が `myrepo` の場合は、「`mygroup/myrepo`」と入力します。プロジェクトのパスと名前空間は GitLab の URL で見つけることができます。

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

1. [**ブランチ名**] で、パイプラインでソースの変更を検出するブランチを選択します。
**注記**  
ブランチ名が自動的に入力されない場合は、リポジトリへの**所有者**アクセス権がありません。プロジェクト名が無効であるか、使用している接続がプロジェクト/リポジトリにアクセスできないかのいずれかです。

1. [**Output artifact format (出力アーティファクトのフォーマット)**] で、アーティファクトのフォーマットを選択する必要があります。
   + デフォルトのメソッドを使用して GitLab.com アクションからの出力アーティファクトを保存するには、[**CodePipeline default**] を選択します。アクションは、GitLab.com リポジトリからファイルにアクセスし、パイプラインアーティファクトストアの 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. ソースアクションを保存して続行することを選択します。

## GitLab.com への接続を作成する (CLI)
<a name="connections-gitlab-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`と を指定します。この例では、サードパーティープロバイダー名は `GitLab` で、指定された接続名は `MyConnection` です。

   ```
   aws codestar-connections create-connection --provider-type GitLab --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"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```