現在、ショップの製品全体をパッケージ化するためのリリース プロセスの自動化/改善に取り組んでいます。現在、製品は次の組み合わせです。
- Java サーバー側コードベース
- XML 構成およびアプリケーション ファイル
- 管理者向けのシェルおよびバッチ スクリプト
- 静的に提供される HTML ページ
- 他にもいくつかありますが、それがほとんどです
それらのすべてまたはほとんどには、さまざまな目的で使用されるさまざまなバージョン情報が含まれています。リリース パッケージ プロセスの一部には、情報を更新するために (スクリプトで) 検索、grep および sed を多数実行することが含まれます。製品をパッケージ化するこの接着剤は、有機的でジャストインタイムの方法で一緒に石畳になっているようで、維持するのはかなりひどい. たとえば、一部の Java メソッドは、リリース時の Date オブジェクトを作成します。その引数は、コンパイラの検証なしで、テキストの置換によって更新されます。
「xyzの機能を使用してこれを行う」ことを避け、一般的な慣行に集中したいので、実際に使用されているソフトウェア(CVS、SVN、antなど)の例を挙げないようにしています。問題の原因を粗悪な設計のせいにしたいのですが、さまざまなテクノロジを使用してやり直す必要がある場合、慣習を定める以外に、これを処理する最善の方法がわからないでしょう。
私の質問は、さまざまなテクノロジ、ファイルタイプ、プラットフォーム、およびバージョン管理システム間でバージョン管理情報を維持および更新するためのベスト プラクティスまたはヒントやヒントはありますか?