5

私はかなりの数のプロジェクトを持つソリューションを持っています.3つはWebベースです(IIS / MVCサイトのWCF)。ソリューションがビルドされると、この分散システムの各コンポーネントが 'Build' フォルダーにダンプされます。出力全体の「コンフィギュレーター」部分を実行すると、クラウド内のシステムが自動的にセットアップされます。とてもきれいです :) しかし、Web 配置プロジェクトは大きな問題です。それぞれのプロジェクトに変更が加えられていない場合でも、私がビルドするたびに「ビルド」(つまりデプロイ) します。

コードの 1 行を変更しましたか? 3 つの Web プロジェクトが再デプロイされるまで、1 分ほどお待ちください。

[これらのプロジェクトは現時点では非常に単純です.2つは単一の.svcファイルと1つの.ashxファイルを持ち、もう1つは〜5ビューのMVCアプリです]

ソリューション構成を変更して「ビルド」しないようにできることはわかっていますが、それを行っていて、翌日ログオンして忘れてしまい、分散システムのバグを追跡するのに数時間を費やすのは非常に簡単です。単に構築されていない何か。

Web 配置プロジェクトを使用する理由 Web プロジェクトのすべてのページとバイナリが必要だからです。プロジェクト自体のビルド出力は「bin」フォルダーなので、ページはありません。プロジェクトフォルダ全体?.cs、.csproj、および含めたくないその他のファイルがあります。

これは最終的にビルド サーバー上でビルドされる予定ですが、現時点ではローカルです。しかし、Web プロジェクトからターゲット フォルダーに実際の出力ファイルを取得する簡単な方法が必要です。何か案は?

4

4 に答える 4

2

最後に、プロジェクトファイルを指定して、Webプロジェクトのプロジェクトフォルダーをターゲットの場所にXCOPYするユーティリティ/ツールを作成し、そのプロジェクトファイルを調べて、ビルドアクションがコンテンツに設定されていないものをすべて削除します。非常に迅速かつ効果的です。

于 2012-11-30T23:37:04.923 に答える
2

これがあなたの状況に役立つかどうかはわかりませんが (独自のプロジェクトのプラグインが近づいています)、IIS の展開を容易にするプロジェクトに取り組んでいます:

https://github.com/twistedtwig/AutomatedDeployments

IIS (アプリ プール、アプリケーション、および Web サイト) の構成ファイルを使用して、サイトの作成と更新をローカル (開発マシン) またはリモート (テストおよび運用マシン) で自動化できるという考えです。

これはまだ進行中の作業ですが、本番システムで使用する準備ができています。

ビルド後のステップとしてパッケージの作成を使用すると、必要なものに近づく可能性があります (余分なファイルがすべて含まれているとは思わないでください)。すべてのプロジェクトを再構築することを選択しない限り、再構築しません)。

于 2012-07-25T08:55:33.747 に答える
1

まだRCであることは知っていますが、VS2012には公開時に変更を検出してそれらのみを公開するという優れた機能があります。自動パブリッシュも行うビルドの少し深い部分にある可能性があります。

于 2012-07-25T08:27:41.097 に答える
0

Octopus プロジェクトを見ることができます: http://octopusdeploy.com/ nuget パッケージに基づく展開。

于 2012-07-25T09:03:15.667 に答える