2017-12-01 8 views
0

私たちはGerritを使用しています。GerritトピックブランチにLASTコミットを作成するスクリプト

  1. はトピックブランチ上のいくつかのコミットを作成します:私たちは、次の操作を行うことができると思った - - B - それらのコミットがヘリットするC
  2. プッシュ。
  3. レビューを投稿する
  4. Jenkinsは、束の最後のコミットだけを構築しましたか?

残念ながら、gerritは3つのコミットに対して3つの異なるブランチを内部的に作成しているようですが、ジェンキンスがスクリプトを実行してトピックを構築すると、意図したものとは異なるコミットが選択されます。私たちが望む行動をとるためには、どこかありますか?

+0

送信前または送信後にJenkinsジョブが実行されますか。どのコミットが選択されますか、a、b、またはcですか? – ElpieKay

答えて

0

Gerritは、プッシュされたコミットごとに常に1つの変更(レビュー)を作成します。コミットの束のために1つのユニークな変更を作成する方法はありません。コミットは、サブミットされない(最後のブランチでマージされる)まで、特別なブランチ(たとえば、refs/changes/12/40312/1など)に格納されます。

もちろん、ブランチにサブミットされた後ですぐに複数のコミットをビルドできますが、ブランチでいくつかのコミットがマージされるたびに(ビルドごとに1つのビルド)、Jenkinsはビルドを開始できます。大量のコミットのためのビルドを1つだけにしたい場合は、スケジュールビルドを自動的に開始することも考えられます(夜間ビルド)。

0

一連の変更に対して1つのレビューのみを作成するように、プロジェクトの設定を変更することができます。 ターゲットブランチにないコミットごとに新しい変更を作成するを偽に設定する

最大の欠点は、最新の変更につながるチェンジセットで何が変更されたかを確認できないことです。

Gerrit Documentation

関連する問題