と を使用teamcity
して、Web アプリケーションを複数のサーバーにデプロイするために使用msbuild
していますwebdeploy
。
顧客/環境の組み合わせごとに構成があります-例:
Internal-Dev
Customer1-Test
Customer1-Pilot
Customer1-Live
Customer2-Test
Customer2-Pilot
Customer2-Live
これらの構成が必要なのは、展開プロセスで web.config 変換を使用して、インストールに適切な接続文字列とその他の設定を設定できるようにするためだけです。
私が抱えている問題は、実際には2つの構成しか必要としない共有Webサーバーコントロールプロジェクトがあることです-debug
そしてrelease
-しかし、それらを機能させるために、上記のすべての構成をこのプロジェクトにコピーする必要があります。共有プロジェクトから削除すると、存在しない共有プロジェクトの構成をCustomer2-Pilot
探しているため、顧客 2 のパイロット サーバーにデプロイできません。Customer2-Pilot
現在、アプリケーションの構成名を共有プロジェクトにコピーしていますが、複数のアプリケーションがそれぞれ異なる顧客に送られているため、共有プロジェクトはすべてのコピーRelease
またはDebug
Internal-Dev
Web アプリケーション プロジェクトの構成は共有プロジェクトのDebug
構成を使用し、他のすべての構成は共有プロジェクトの構成を使用すると言えるように、ビルド システムを構成できるようにしたいと考えていRelease
ます。これは、ソリューション構成を個々のプロジェクト構成に関連付けることができる構成マネージャーを使用して、IDE 内から可能ですが、 内からこれを行う方法がわかりませんteamcity
。
私の現在の teamcity 構成はMSBuild
、Web アプリケーションのプロジェクトファイルをビルド ファイル パスとしてランナーを使用し、構成パラメーターを設定して、ビルド後に正しい構成で関連するサーバーに展開しています。共有プロジェクトは Web アプリケーション リポジトリのサブリポジトリにあるため、自動的に取得およびビルドされます。
この設定を変更して、必要なものを取得する方法はありますか? 構成マネージャーの設定を使用して構成できるように、ビルド ファイルのパスをプロジェクトではなくソリューションに変更する必要がありますか?