1

これに関していくつの質問が寄せられているかは知っていますが、私の質問に対する答えはまだわかりません。

ASP.NET 4.0 サイトを展開する必要があり、次のようなことをしたいと考えています。

  1. ソリューション全体の最新バージョンを取得します-WebアプリケーションとWebアプリで使用されるいくつかのクラスプロジェクト(私はすでにCCNetを使用してこれを行っています-問題ではありません)
  2. デバッグ構成でビルドしてテスト サイトにデプロイする
  3. ステージング サイトへのリリース構成でのビルドとデプロイ
  4. ステージング サイトで問題がないように見える場合は、リリース ビルド ステージング サイトを展開するスクリプトを実行し、同じサーバー上でさまざまな顧客が使用する 7 ~ 8 の同様のサイトに展開します。将来的には、これは別のサーバー上にあります。

MSDeploy(webdeploy 2.0)、aspnet_compiler、MSBuild、Powershell(私の武器の選択..)、そしておそらくそれ以上のものがあります...どこで何を使用すればよいか100%わかりませんか?

Vs2010 GUI を使用した展開から「サイトの実行に必要なファイルのみを展開する」を真似したいと思います。また、展開先の Web サイトの既存のフォルダーに触れないようにしたいと考えています。

私はMSDeployをたくさん使うべきだと感じています...しかし、GETするのはかなり難しいと思います. IIS.NET を読んでいて、Scott Hanselman/Jon Arild Tørresdal ポッドキャストを聞いたことがあります。私はどこから始めればよいか 100% 確信が持てません...そして私は MSBuild の専門家ではないので、Powershell は私にとってかなり良さそうに見えます。しかし、そのように進んでいると、適切なツールを見逃しているように感じます...

どのステップでどのツールを使用しますか??

4

1 に答える 1

-1

私によると、MSDeploy は、より多くの制御を備えたすべてのニーズを達成するように構築されています。MSDeploy は IIS チームの製品であり、はるかに豊富な機能を備えています。

質問への回答 考慮事項: ソース管理としての Svn、展開用の MSDeploy

  1. SVN コマンド ライン ツールを使用して、一時ディレクトリにあるソース コードの最新バージョンを取得し、MSBuild コマンド ライン ツールを使用してビルドできます。次に、特定の環境に展開できる展開パッケージまたはパブリッシュ コンテンツ パッケージを作成できます。現在、基本的に環境に依存しない展開パッケージを作成できるプロジェクトに取り組んでいます。つまり、パッケージを任意のステージ/テスト/ライブ環境に展開できます。展開パッケージを作成するためのサンプルは...

    msbuild C:\Projects\NimBuildDeployTestApp\NimBuildDeployWebApp/NimBuildDeployWebApp.csproj /t:package /p:Configuration=Release /p:PackageLocation=C:\Temp\DeployPackage\NimTestWebApp.zip /p:EnablePackageProcessLoggingAndAssert=true

  2. MSDeploy コマンド ライン ツールを使用して、以下のようにパッケージを展開します。

    msdeploy -verb:sync -source:package=packagelocation -dest:CONFIGURABLE_ACCORDING_TO_YOUR_NEEDS

  3. ステップ 2 を使用して、MSBUILD を使用してリリース モードでソリューションをビルドし、msdeploy で dest パラメーターを構成します。

  4. ステージング サーバーで問題がないように思われる場合は、特定の PublishContent/パッケージをライブ サーバーにデプロイする deploymentToLive.batch ファイルを実行します。同じバッチ ファイルで 7 つの msdeploy スクリプトを実行するか、DFS を使用します (これははるかに複雑なソリューションです)。

MSDeploy は間違いなく進むべき道です。考慮すべきことの 1 つは、任意の環境に展開できる展開パッケージを準備することです。つまり、web.config ファイルはすべての環境で似ているわけではないため、すべての環境の web.confif ファイルを含む展開パッケージを作成します。ここで私のソリューションを参照してください

これが役に立ち、展開プロセスの自動化に向けて前進する自信を与えてくれることを願っています

于 2011-06-27T02:32:08.143 に答える