3

私の会社はsvnからgitに切り替えており、さまざまな分岐モデルを研究しています。私がこれまでで最も気に入っているのはgit-flowですが、未解決の大きな問題が1つあります。

CIサーバーにはハドソン(まもなくジェンキンスになります)を使用します。5つのアプリケーションがあり、それぞれ3つの環境(開発、qa、本番)があります。git-flowを使用すると、開発ビルドを「開発」ブランチに、本番ビルドを「マスター」ブランチにポイントすることは明らかですが、簡単にリダイレクトできるように設定するための最良の方法は何ですか。 qa環境から最新のホットフィックスまたはリリースブランチ(存在する場合)、または存在しない場合は開発。現在、jenkinsジョブを手動で更新するだけですが、5つのジョブを手動で変更するのは面倒です(エラーが発生しやすい)。

私が考慮したいくつかのこと:

  1. qaブランチを追加し、リリース/ホットフィックスブランチからマージします。リリース/ホットフィックスに変更を加えるたびにqaブランチにマージすることを忘れないでください。これはすぐに古くなるため、これは初心者ではありません。

  2. symbolic-ref "refs / heads / qa"を作成し、QAでテストするものを指すように更新します。これは上記よりも優れていますが、gitサーバーでsym-refを更新する必要があり、通常の開発者には更新する権限がないため、機能しません。

これまでのところ、これらのオプションはどちらも私には実行可能ではないようですが、私が見逃している他のオプションはありますか?ありがとう。

4

1 に答える 1

3

私はあなたの質問の詳細を完全には理解していませんが、これはどうですか?

ビルド構成で、「このビルドはパラメーター化されています」をチェックしてから、「ブランチ」(または同様のもの)と呼ばれる文字列または選択パラメーターを作成します。これはデフォルトで開発ブランチになります。

次に、ブランチ名が通常使用されるgit configで、ブランチ名をハードコーディングする代わりに「${branch}」を使用します。

ビルドが自動的にトリガーされる場合、開発ブランチを使用します。ただし、ビルドを手動で開始すると、新しいブランチ名を指定するオプションが表示されます。

于 2011-10-16T19:35:47.150 に答える