0

と を使用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-DevWeb アプリケーション プロジェクトの構成は共有プロジェクトのDebug構成を使用し、他のすべての構成は共有プロジェクトの構成を使用すると言えるように、ビルド システムを構成できるようにしたいと考えていReleaseます。これは、ソリューション構成を個々のプロジェクト構成に関連付けることができる構成マネージャーを使用して、IDE 内から可能ですが、 内からこれを行う方法がわかりませんteamcity

私の現在の teamcity 構成はMSBuild、Web アプリケーションのプロジェクトファイルをビルド ファイル パスとしてランナーを使用し、構成パラメーターを設定して、ビルド後に正しい構成で関連するサーバーに展開しています。共有プロジェクトは Web アプリケーション リポジトリのサブリポジトリにあるため、自動的に取得およびビルドされます。

この設定を変更して、必要なものを取得する方法はありますか? 構成マネージャーの設定を使用して構成できるように、ビルド ファイルのパスをプロジェクトではなくソリューションに変更する必要がありますか?

4

1 に答える 1

0

これは、ビルド ファイル パスパラメーターをプロジェクト ファイルではなくソリューション ファイルに変更するだけの簡単な作業であることがわかります。これは、プロジェクト構成ではなくソリューション構成を指定することを意味します。ソリューション構成は構成マネージャーで管理され、ソリューション構成で各プロジェクトの構成を指定できるため、すべてがうまく機能します。

公開する必要がある 2 つのプロジェクト (Web アプリケーションと WCF サービス アプリケーション) があり、それらは他の 5 つのクラス ライブラリ プロジェクトに依存しています。クラス ライブラリ プロジェクトがデバッグ構成またはリリース構成のいずれかを使用してビルドされ、変換が必要な構成ファイルを持つ 2 つのプロジェクトがシステムごとに 1 つの構成を持つようにセットアップしました。

注意点が1つあります。古いセットアップでは、2 つのビルド ステップが必要でした。1 つは Web アプリケーションをビルドしてデプロイするためのもので、もう 1 つは WCF サービス アプリケーションをビルドしてデプロイするためのものです。ソリューション ファイルをビルド ファイルとして使用すると、どちらもソリューションの一部であり、ビルドとデプロイの両方が行われるため、2 つの手順はもう必要ありません。

于 2013-06-28T09:24:46.337 に答える