GitLab セルフマネージド型 の接続 - AWS CodePipeline

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

GitLab セルフマネージド型 の接続

接続を使用すると、サードパーティープロバイダーを AWS リソースに関連付ける設定を許可および確立できます。サードパーティーのリポジトリをパイプラインのソースとして関連付けるには、接続を使用します。

注記

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

で GitLab セルフマネージド型のソースアクションを追加するには CodePipeline、次のいずれかを選択できます。

注記

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

開始する前に:

  • でアカウントをすでに作成 GitLab し、セルフマネージドインストールで GitLab Enterprise Edition または GitLab Community Edition を持っている必要があります。詳細については、https://docs.gitlab.com/ee/subscriptions/self_managed/ を参照してください。

    注記

    Connections は、接続の作成と承認に使用されたアカウント用のアクセスだけを提供します。

    注記

    所有者ロールを持つリポジトリへの接続を作成し GitLab、その接続を などのリソースで使用できます CodePipeline。グループ内のリポジトリでは、グループの所有者である必要はありません。

  • スコープダウンアクセス許可のみを持つ GitLab 個人アクセストークン (PAT) を既に作成しておく必要があります。API。詳細については、https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html を参照してください。PAT を作成して使用するには、管理者である必要があります。

    注記

    PAT はホストの認証に使用され、それ以外の方法で保存または接続に使用されることはありません。ホストを設定するには、一時的な PAT を作成し、ホストを設定した後に PAT を削除できます。

  • ホストを事前に設定することもできます。VPC の有無にかかわらず、ホストをセットアップできます。VPC 設定の詳細とホストの作成に関する追加情報については、「ホストの作成」を参照してください。

セルフマネージドへの接続 GitLabを作成する (コンソール)

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

注記

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

開始する前に:

GitLab セルフマネージド型へのホスト接続の場合、接続用のホストリソースを作成する手順を完了している必要があります。[接続のホストを管理する] を参照してください。

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

パイプラインを作成または修正するには
  1. CodePipeline コンソールにサインインします。

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

    • パイプラインの作成を選択します。[パイプラインを作成する] の手順に従い最初の画面を完了し、[] を選択します。ソースページのソースプロバイダー で、GitLab セルフマネージド を選択します。

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

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

    • 接続 で、プロバイダーへの接続をまだ作成していない場合は、 GitLab セルフマネージド に接続する を選択します。ステップ 2: GitLab セルフマネージドへの接続を作成するに進みます。

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

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

接続の作成を選択すると、セルフマネージド型への接続 GitLabページが表示されます。

GitLab セルフマネージド に接続するには
  1. [Connection name] (接続名) に、接続の名前を入力します。

  2. [URL] に、サーバーのエンドポイントを入力します。

    注記

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

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

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

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

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

  7. [host_name のセットアップ] ページが表示されます。「個人用アクセストークンの提供」で、スコープダウンされたアクセス許可のみを持つ PAT を指定します GitLab。 api

    注記

    PAT を作成して使用できるのは管理者のみです。

    [Continue] を選択します。

    新しいホストの GitLab 自己管理型個人アクセストークンエントリを示すコンソールのスクリーンショット
  8. 接続ページには、作成された接続が Available (使用可能) ステータスで表示されます。 

ステップ 3: セルフマネージドソースアクションを保存する GitLab

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

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

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

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

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

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

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

ホストを作成し、セルフマネージド (CLI) に接続する GitLab

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

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

重要

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

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

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

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

重要

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

ホストを作成するには
  1. ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。を使用して create-host コマンド AWS CLI を実行し、接続に --name--provider-type、および --provider-endpointを指定します。この例では、サードパーティープロバイダー名は 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 になります。

  2. コンソールでホストのセットアップを完了し、ホストのステータスを 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" }
  2. コンソールを使用して、保留中の接続を設定します。

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