web-dev-qa-db-ja.com

マージリクエストでgitlab-ciのジョブをトリガーする

マージリクエストでのみgitlab-ciからジョブを実行することは可能ですか?これで、重いテストを含む大きなモノリシックプロジェクトができましたが、ブランチマスターにマージする前にテストを実行したいだけです。

17
Philippe Thiers

これが可能になりました。これはGitLab 11.6で 導入 になりました。

7

まあ、それは現在組み込まれていませんが、自分でそれを行うことは不可能ではありません。 Gitlabでは trigger ジョブを許可しています。また、マージリクエストで webhooks もサポートします。ただし、WebhookはURIの変数をサポートしていないため、トリガーはリクエストの本文を読み取ることができないため、ここで仲介人のように動作するスクリプトを作成する必要があります。

  1. スクリプトへのマージ要求呼び出しでのWebhook
  2. スクリプトはリクエストを解析し、正しいREFでgitlabのトリガーを呼び出します
  3. トリガーは、マークされているジョブを実行します。

    のみ:-triggers

それは少しハックですが、動作し、実装が簡単です。

13
Jakub Kania

今のところ、いいえ。購読する必要があります 問題 利用可能かどうか、いつ利用できるかを確認します(そして、あなたの会社が企業顧客である場合、実装に優先順位をつけるために彼らに連絡することができます)

4
rpadovani