依存関係が混在する複数の Web サイト、デスクトップ アプリケーション、Web サービス、およびデータベースで構成される n 層システムの開発と展開をどのように管理しますか?
ソース管理と自動ビルドを備えた継続的統合環境があるとします。
依存関係が混在する複数の Web サイト、デスクトップ アプリケーション、Web サービス、およびデータベースで構成される n 層システムの開発と展開をどのように管理しますか?
ソース管理と自動ビルドを備えた継続的統合環境があるとします。
これは、達成するのが難しいものです。ただし、私たちが行うことの 1 つは、システムの各部分が適切な健全性チェックを行うようにすることです。たとえば、データ アクセス レイヤーは次のようなことを行います。
public void OnStart(){
if(database.SchemaVersion != this.RequiredDatabaseSchemaVersion)
throw new DependencyException("The database was not the required version");
}
この例はまったく些細なことですが、アイデアは理解できるはずです。
もう 1 つできることは、アプリをパッケージ化するときに、必ず 1 つのユニットとしてパッケージ化することです。したがって、誰かが次のようなことができます:
MyApplication_v1234.msi /install web_app
MyApplication_v1234.msi /install web_services
明らかに、これはアプリの配布方法によって異なります。
うまくいけば、これがあなたに考える何かを与えるでしょう。