1

私の最後の雇用主は、進行中の開発に対処するためにSVNの上に座った精巧なシステムを開発しました:(変更管理)バグ/問題を調べ、バグID番号と(リリース管理)タグをタグ付けしてコミットを行うときにそれらをコミットに関連付けますバグ/問題追跡システムに基づく特定のリリースの一部としてのSVNのアイテム。この2番目の部分には、ユーザー/管理者からサインオフを取得するためのワークフローが関連付けられていました。次に、リリースを行うとき(通常は毎週木曜日の夜)に、コマンドを実行して、タグ付けされたすべてのコードをチェックアウトし、デプロイすることができます。

私の新しい会社ははるかに小規模であり、SVNと直接取引することを意味する場合でも、低コスト/低メンテナンスの同等品を見つけることに興味があります。特に、ゲームの後半でコミットがビルドを壊してしまうことがよくあり、含めることができるものを解きほぐすのは非常に困難になります。(SVNの管理に関する限り、私はブランチよりもタグのアイデアを好む傾向があります。これは、事前の考慮が少なくて済むためですが、そうでないことを確信できてうれしいです。)

リリースのコミットにタグを付け、その後のデプロイメントを行うために、人々は何を使用しますか?WebブラウザからSVNを参照し、リリースの問題/コミットにタグを付けることができるリリースサイクルを管理するための優れたオープンソースソリューションはありますか?私がこれまでに見た中で最高のものはJiraですが、それは非常に大きなツールのように見えます(構成/保守が難しいですか?)。Apache Foundationは、この目的のためにJiraをうまく利用しています(たとえば、Mahoutロードマップを参照してください)。

これを超える一歩を踏み出すと、この同じシステムに継続的インテグレーションも含まれるようになり、各コミットで単体テストを実行できるようになり、各バグ/問題にもこの情報が関連付けられます。

注:stackoverflowには少し関連性のある質問がいくつかありますが、デプロイサイクルとリリース管理のこの側面をカバーするものは何もありません(release-management-in-svnmanage-your-project-life-cycle、およびbestを参照してください)。 -way-to-handle-change-management)。

4

2 に答える 2

2

ゲームの後半でビルドバスティングチェックインを見つけて効率的に修正できない場合は、リリースプロセスについて心配する前に、必ずCIトレインに参加する必要があります。誰かが何かをチェックするたびに電子メールが送信される場合、開発者にビルドの整合性の責任を負わせることは、はるかに簡単なプロセスです。それをゲームにしてください。ビルドを壊した人は、次に壊れたときまでベビーシッターをしなければなりません。

CruiseControl(CC.NETを使用)を使用して起動して実行することは、Subversionではそれほど難しくありません(ビルドプロセスがない状態から、CC.NETとNAntを使用した完全に自動化されたビルドとデプロイを約1か月で取得し、もちろん他の責任)。

JIRAも使用しており、間違いはありません。「FixedPROJECT-11」などのSubversionコミットメッセージをJIRAに監視させると、適切なJIRAアイテムが自動的に閉じられます。そこからリリースノートを作成できます。

于 2009-11-03T20:04:47.637 に答える
0

Tortoise SVNリビジョングラフを調査しましたか?各リリースにタグを付けると(他の人が指摘しているように、サーバーまたはワークステーションのいずれかでファイルをコピーする必要はありません)、実際のリリースを示すタグを付けて、すべてのリビジョンを時系列で確認できます。関心のある2つのリビジョンを強調表示し、コンテキストメニューからdiffを選択することで、リリースやトランクを区別できます。

于 2018-03-26T12:09:42.213 に答える