• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

GitLab でデプロイ ゲーティングを使用する

デプロイ ゲーティング機能を使用すると、変更リクエストを GitLab から Jira Service Management に提出して承認を求めることができます。セットアップが完了すると、選択した環境への GitLab デプロイは自動的に Jira Service Management の承認者に送信され、承認された場合にのみデプロイされます。

GitLab でデプロイ ゲーティングを使用する前に、まず次のことを行う必要があります。

また、デプロイ ゲーティングを有効化するために必要な設定を完了するには、GitLab Premium または Ultimate のいずれかのプランに加入している必要があります。

これで、サービス プロジェクトを GitLab リポジトリに接続する準備が整いました。

GitLab でデプロイ ゲーティングを有効化する

デプロイ追跡中に GitLab を有効化した際、サービス ID を指定し、サービスを GitLab に接続したはずです。デプロイ ゲーティングを有効化する手順は次のとおりです。

デプロイ追跡中に GitLab を有効化した際、サービス ID を指定し、サービスを GitLab に接続したはずです。デプロイ ゲーティングを有効化する手順は次のとおりです。

  1. GitLab にログインします。左側のサイドバーで [検索] を選択するか移動してプロジェクトを見つけます。

  2. [設定] > [統合] の順に選択します。

  3. GitLab for Jira Cloud アプリを選択します。

  4. デプロイ追跡で入力した [サービス ID] フィールドが表示されます。さらに、[デプロイ ゲーティング] の下に追加オプションが表示されます。

  5. [Enable deployment gating (デプロイ ゲーティングを有効化)] を選択します。

  6. [Environment Tiers (環境階層)] フィールドに、デプロイ ゲーティングを有効化する環境の名前を入力します。環境名として、「production」、「staging」、「testing」、「development」を入力できます。複数の環境名を追加するには、各環境名の間にコンマを入れます。小文字のみを使用し、タイプミスをしないように注意してください。

  7. [変更を保存] を選択します。

  8. サービス プロジェクトに戻り、[プロジェクト設定] > [変更管理] に移動します。

  9. [デプロイ パイプライン] タブの [デプロイ ゲーティング] で、[変更リクエストのワークフローのステータスを使用するデプロイを許可・却下する] を選択します。デプロイ ゲーティング設定の詳細をご確認ください。

  10. これで、プロジェクトのデプロイ ゲーティングの準備が整いました。設定を完了するには、[Service account token (サービス アカウント トークン)] フィールドに個人用アクセス トークンを入力する必要があります。

サービス アカウント トークンを作成する

GitLab でサービス トークンを作成するには、まず個人用アクセス トークンを作成する必要があります。これにより、サービス アカウント トークンが認証されます。アトラシアンでは、Jira Service Management の変更に対する承認と却下によって GitLab のデプロイを管理するために、このトークンを使用します。 

  1. 個人用アクセス トークンを作成するには、まず GitLab でサービス アカウント ユーザーを作成する必要があります。GitLab でのサービス アカウントの作成方法をご覧ください。

  2. 作成したサービス アカウントを、個人用アクセス トークンを使用してプロジェクトに追加します。サービス アカウントをメンバーとしてグループやプロジェクトに追加する方法をご覧ください。

  3. 次に、サービス アカウントを GitLab の保護環境に追加します。サービス アカウントを保護環境に追加する方法をご覧ください。

  4. 最後に、個人用アクセス トークンを使用して GitLab でサービス アカウント トークンを生成します。サービス アカウントのアクセス トークンの作成方法をご覧ください。

  5. Jira Service Management のサービス プロジェクトに戻ります。もう一度 [プロジェクト設定] > [変更管理] に移動します。

  6. 生成されたトークンを [Service Accounts Token (サービス アカウント トークン)] フィールドに貼り付けます。 

  7. [保存] を選択して、GitLab のデプロイ ゲーティングを有効化します。

サービス アカウントを追加する

  1. GitLab に戻り、グループでプロジェクトを選択します。

  2. [設定] > [CI/CD] の順に選択します。

  3. [Protected environments (保護環境)] を展開し、[Protect an environment (環境を保護)] を選択します。

  4. staging など、新しい保護環境を追加します。

  5. [Allowed to deploy (デプロイを許可)] から、この環境へのデプロイを許可するユーザーを選択します。たとえば、[Developers+Maintainers (開発者+メンテナー)] などです。

  6. [承認者] フィールドで、承認者として以前に作成したサービス アカウントを選択します。

  7. [Protect (保護)] を選択して変更を保存します。

リクエストの例

以下の例を使用して、次の API にリクエストを送信できます。

サービス アカウントを作成する

1 curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=<name_of_your_choice>&username=<username_of_your_choice>" "<https://gitlab.com/api/v4/groups/<group_id>/service_accounts"

 

個人用アクセス トークンを使用してプロジェクトを作成する

1 2 3 4 curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ --data "user_id=<service_account_id>&access_level=30" "https://gitlab.com/api/v4/groups/<group_id>/members" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ --data "user_id=<service_account_id>&access_level=30" "https://gitlab.com/api/v4/projects/<project_id>/members"

 

個人用アクセス トークンを使用してアクセス トークンを作成する

1 curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/groups/<group_id>/service_accounts/<service_account_id>/personal_access_tokens" --data "scopes[]=api,read_user,read_repository" --data "name=service_accounts_token"




さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。