2011-10-19 10 views
1

TeamCityで毎週リリースを稼働させようとしていますが、どうやってバージョンアップするのか苦労しています。 Teamcityウィークリーリリースのバージョン管理とワークフロー

[major].[minor].[buildnumber].[svnrevision] 

major = major release 
minor = incremented on release (weekly-basis) to production 
buildnumber = teamcity's autoincremented build number 
svnrevision = revision number from svn 

が、これは毎週、タグを作成した後、私はちょうどので、私はそうのようなマイナーバージョンをインクリメントすることができ、新しいリリースのための別のビルド構成を作成する必要がありますことを意味しています次のように現在のバージョン管理は行きますか?

1.1。{0}。%のbuild.vcs.number。*%

1.2。{0}。%のbuild.vcs.number。*%

tags\release-1.1.0フォルダへtrunkから新しいビルドコンフィグを指しますか?

これを行う簡単な方法はありませんか?

+0

...多分あなたがタグとして枝の概念を使用していることをもう一度上でこれを読んでから、私には思える私は理解していません。あなたはトランク上で開発を続けて、それから建物を作り続けたいと思いませんか? –

+0

編集しました。私は、リリースフォルダにタグ用に作成した新しいビルド設定を指していました。 – Jonn

答えて

1

TeamCity 6以降では、複数のビルドステップを実行できます。

カスタムMSBuildタスクを使用する実際のビルドの前に、初期ビルドステップを作成できます。これにより、すべてのプロジェクトがリンクするグローバルなAssemblyInfo.csファイル(詳細はAutomatic assembly version number management in VS2008を参照)をチェックし、ファイルからバージョン番号を取得し、マイナーリビジョンを増分して新しい値を書き戻し、更新ファイルをチェックインします。

追加のビルドステップでは、ビルドとタグを実行します。

あなたは私はあなたからあなたのビルド構成を変更する理由に関して、少し困惑していると思いますhttp://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ReportingBuildNumber

+0

チームシップはどのようにファイルからバージョン番号を取得できますか? – Jonn

+0

回答が更新されました。私は確かに、この手順を自動化したままにしておきます。そうしないと、毎週手動でビルドバージョンを変更する必要がある場合には、維持するのが難しくなります。 – devdigital

1

を参照して、ビルド番号を報告するなど、サービスのメッセージを使用してビルドスクリプトからチームシティーへの更新を通信することができますコードベースのバージョン番号が変わると、タグ/リリースフォルダにトランクします。

私がやっていたら、トランクから構築された1つの設定を作成するだけです。週に1回、TeamCity設定画面で1.1.x.xから1.2.x.xまでのバージョン番号をアップし、トランクから建物を維持することができます。来週は1.3.x.xにアップし、あなたはトランクからのビルドを続けます。

通常、タグは時間内のスナップショットを意味するだけで、特定のビルドを時間通りに戻すために使用された正確なソースです。私は、あなたのタグが\ tags \ release-1.1.232.3232などのように見えるようにフォルダを構築することを期待しています。

場合によっては、特定のタグを取り出してそこからブランチを作成する必要があります。つまり、次のバージョン(トランクから)をリリースする前に、以前のリリースでいくつかのバグ修正を行う必要がある場合です。その場合、私はブランチビルドを行うための新しい設定を作成します。コードベースは\ branches \ release-1.1.0のようになります。

これで、トランクの設定が1つまたは1.3であり、ブランチ設定が1.1またはそれに類するものである間にインクリメントし続ける。後で、あなたがタグで示唆したように、1.1でバグ修正が行われるので、別のバージョン番号のブランチ設定を使用するかもしれません。ビルドをタグ付けした後、あなたがタグに離れてトランクから指すことになり、なぜ

それは

+0

私はまったく変わっていません。私はこのケースで両方のビルド設定を維持しています。バグ修正を発行する必要があるときは、タグからブランチを作成してから変更をマージして戻します。 build configは、自分のタグフォルダで実行されます。私のワークフローは変わる必要がありますか? – Jonn

+1

変更する必要があるのは、タグフォルダではなくブランチからビルド設定を実行することです。私が前に指摘したように、タグは時間内のスナップショットでなければなりません(タグが作られると変更されるべきではありません)。ブランチは、トランクとは異なる開発を行うために使用されます。あるタグからブランチを作成する場合は、そのタグでブランチをチェックするべきではありません。ここでも最初の答えを見てください - http://stackoverflow.com/questions/16142/what-do-branch-tag-and-trunk-really-mean –

+0

シュート。私はそれを間違ってやってきました。私は前にその記事を読んだことがあるが、その後タグをスナップショットとして理解した。訂正してくれてありがとう。しかし、増分は手作業のままですか? – Jonn

関連する問題