0

私たちのプロジェクトは、単一の war ファイル (Web アプリケーション) で構成されています。

git リポジトリにマスター ブランチがあり、そのブランチのすべてのソース ファイルが含まれています。

ステージング (テスト) 環境と本番環境を使用しています。

両方とも異なる構成にする必要があります。

したがって、私たちの問題は次のとおりです。

新しい機能を git リポジトリにプッシュし、war ファイルをビルドするとき。ステージング固有のデータで構成されています。そのため、実際にこの戦争を本番環境に展開することはできません。

この問題を解決する方法について何か考えはありますか? (prod から test に変更されるファイルは、たとえば、Spring 構成ファイル、その他の構成ファイル、いくつかの xml などです)

単純な解決策の 1 つは、2 つのブランチ (1 つは本番用、もう 1 つはテスト用) を持つことですが、それは非常に面倒に思えます。

4

1 に答える 1

0

長期的には:

Spring コンテキスト ファイルから特定の設定を抽出して、アプリケーション サーバーで構成されているアプリケーションのパラメーターにします。

たとえば、データベース接続設定: アプリケーション サーバーでデータベース接続を構成し、JNDI 経由で実行できるようにします。その後、アプリケーションは JNDI からデータベース接続を取得できます。したがって、アプリケーションは具体的なデータベース接続設定から独立しています。

他の構成にも同じ手法を使用できます。もちろん、これを使用して Spring プロファイルを有効/無効にすることもできます。

于 2013-11-10T20:39:26.073 に答える