GitLab.com への接続 - AWS CodePipeline

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

GitLab.com への接続

Connections を使用すると、サードパーティープロバイダーを AWS リソースと紐付ける構造の承認と設立ができます。サードパーティーのリポジトリをパイプラインのソースとして関連付けるには、接続を使用します。

注記

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

CodePipeline で GitLab.com のソースアクションを追加するには、次のいずれかを選択できます。

注記

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

注記

この接続のインストールを GitLab.com で承認すると、アカウントにアクセスしてデータを処理するアクセス許可を AWS のサービスに付与したものとみなされます。また、アプリケーションをアンインストールすれば、アクセス許可をいつでも取り消すことができます。

開始する前に:

  • GitLab.com でアカウントを作成しておく必要があります。

    注記

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

    注記

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

  • パイプラインのソースを指定するには、gitlab.com にリポジトリを作成しておく必要があります。

GitLab.com への接続を作成する (コンソール)

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

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

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

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

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

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

    • [接続] でプロバイダーへの接続をまだ作成していない場合は、[GitLab への接続] を選択します。ステップ 4 に進んで、接続を作成します。

    • [接続] でプロバイダへの接続を既に作成している場合は、その接続を選択します。ステップ 9 に進みます。

    注記

    GitLab.com 接続が作成される前にポップアップウィンドウを閉じた場合は、ページを更新する必要があります。

  4. GitLab.com リポジトリへの接続を作成するには、[プロバイダーを選択する] で、[GitLab] を選択します。[接続名] に、作成する接続の名前を入力します。    [GitLab に接続] を選択します。

    GitLab 用に選択された接続オプションを示すコンソールのスクリーンショット。
  5. GitLab.com のサインインページが表示されたら、認証情報を使用してログインし、[サインイン] を選択します。

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

    [承認] を選択します。

    GitLab.com アカウントの接続を承認するメッセージを示すスクリーンショット。
  7. ブラウザは接続コンソールページに戻ります。[GitLab 接続を作成] の下で、新しい接続は [接続名] に表示されます。

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

    CodePipeline コンソールに戻ります。

    注記

    GitLab.com への接続が正常に作成されると、メインウィンドウに成功のバナーが表示されます。

    現在のマシンで以前に GitLab にログインしたことがない場合は、ポップアップウィンドウを手動で閉じる必要があります。

  9. [リポジトリ名] で、プロジェクトのパスと名前空間を指定して、GitLab 内のプロジェクトの名前を選択します。例えば、グループレベルのリポジトリの場合は、リポジトリ名を group-name/repository-name の形式で入力します。パスと名前空間の詳細については、https://docs.gitlab.com/ee/api/projects.html#get-single-projectpath_with_namespace フィールドを参照してください。GitLab の名前空間の詳細については、https://docs.gitlab.com/ee/user/namespace/ を参照してください。

    注記

    GitLab 内のグループでは、プロジェクトのパスと名前空間を手動で指定する必要があります。例えば、グループ mygroup 内のリポジトリの名前が myrepo の場合は、「mygroup/myrepo」と入力します。プロジェクトのパスと名前空間は GitLab の URL で見つけることができます。

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

  11. [ブランチ名] で、パイプラインでソースの変更を検出するブランチを選択します。

    注記

    ブランチ名が自動的に入力されない場合は、リポジトリへの所有者アクセス権がありません。プロジェクト名が無効であるか、使用している接続がプロジェクト/リポジトリにアクセスできないかのいずれかです。

  12. [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 アクセス許可を追加します。 で示されるように CodeBuild プロジェクトサービスロールの権限を更新する必要があります。[完全クローン] オプションを使用する方法を示すチュートリアルについては、チュートリアル: CodeCommit パイプラインソースで完全なクローンを使用する を参照してください。

  13. ソースアクションを保存して続行することを選択します。

GitLab.com への接続を作成する (CLI)

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

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

重要

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

接続を作成する
  1. ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。AWS CLI を使用して、create-connection コマンドを実行し、接続に --provider-type--connection-name を指定します。この例では、サードパーティープロバイダー名は 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" }
  2. コンソールを使用して接続を完了します。詳細については、「Update a pending connection」を参照してください。

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