質問

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

私の新しい会社ははるかに小さいので、たとえそれが SVN と直接取引することを意味するとしても、低コスト/低メンテナンスの同等の会社を見つけることに興味があります。特に、ゲーム後半のコミットがビルドを壊すことがよくあり、何を含めることができるかを解明するのが非常に困難になります。(SVN の管理に関する限り、私はブランチよりもタグの考え方を好む傾向があります。その理由は、事前に検討する必要が少ないからですが、そうではないことを納得できてうれしく思います。)

リリースのコミットにタグを付けたり、その後のデプロイメントを実行したりするには何を使用しますか?Web ブラウザから SVN を参照し、リリースの問題やコミットにタグを付けることができる、リリース サイクルを管理するための優れたオープンソース ソリューションはありますか?これまで見た中で一番良かったのは、 ジラ, 、しかし、それは非常に大規模なツールのように見えます(設定/保守は難しいですか?)。Apache Foundation は、この目的のために Jira を有効に活用しています (たとえば、次を参照) Mahout のロードマップ).

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

注記:stackoverflow には少し関連する質問がいくつかありますが、デプロイメント サイクルとリリース管理のこの側面をカバーするものは何も見つかりません (「 SVN でのリリース管理, プロジェクトのライフサイクルを管理する, 、 そして 変更管理を処理するための最良の方法).

役に立ちましたか?

解決

あなたはリリースプロセスの心配を開始する前に効率的にあなたは間違いなく、CIの電車に飛び乗っ必要がありますそれらを修正するには遅すぎるゲームで構築つぶしチェックインを発見している場合。ビルドの整合性のために、開発者が責任を作ることは、誰かがそのネジで何か犬をチェックするたびに出て行く電子メールがあるはるかに簡単なプロセスです。それゲーム作ります。誰でもビルドを壊すことはそれが壊れて取得する次の時間までそれを子守しています。

私は約一ヶ月にCC.NETとNAntのと完全に自動化されたビルドと展開に話すために無ビルドプロセスから私たちを得た起床とCruiseControlの(私はCC.NETを使用)Subversionでそれは難しいことではありません(と実行しています、)もちろん、他の責任と交互に。

我々はまた、JIRAを使用して、それは間違って行くことは難しいです。あなたは、JIRAは、Subversionが「固定PROJECT-11」のようなもののためにメッセージをコミット見ることができ、それが自動的に適切なJIRAアイテムを閉じます。あなたはそこからあなたのリリースノートを構築することができます。

他のヒント

あなたはトータスSVNのリビジョングラフを調べたことがありますか?あなたは(他の人が指摘したようにいずれかのサーバーまたはワークステーション上で、ファイルのコピーを含まない)、各リリースにタグを付ける場合は、タグが実際のリリースを示すとともに、年代順にすべてのリビジョンを見ることができます。あなたが興味のある二つのリビジョンをhilighting、コンテキストメニューから差分を選択することで、リリースおよび/またはトランクの間でdiffをすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top