13

1. 開発者: コードをチェックインする 2. ビルド: リポジトリをポーリングし、変更を確認してビルドを開始する: 3. ビルド: リポジトリから更新し、MSBuild を使用してビルドし、ユニットを実行するnunit を使用したテスト、4. ビルド: インストーラー パッケージを作成します。

私たちのセキュリティ チームは、ビルド サーバーからのプルは許可していますが、ビルド サーバーからのプッシュは許可していません。そのため、通常は rdp でインストーラーを d/l して実行します。これにより、洗練された展開サービスが除外されるため、代わりにパッケージを生成する必要があります。次の問題があることを除いて、MSDeploy を使用したいと思います。

  1. 私たちは .net 3.5 を使用しており、MSDeploy を使用する MSBuild ターゲット (パッケージ) には 4.0 が必要です。このために .net 4.0 RC 以外にインストールする必要があるものはありますか? (MSBuild はそのアップグレードの一部になりますか?)
  2. MSDeploy でパッケージを生成すると、ファイルが 1 つだけではないことがわかります。zip、deploy.cmd、SourceManifest.xml、および SetParameters.xml があります。他のすべてのファイルは何のためにあり、なぜそれらすべてが「パッケージ」に含まれないのでしょうか?
  3. 動作中の IIS サイトを参照するようにシステムに指示することで、パッケージを作成できるように思えます。しかし、パッケージが CI 環境からビルドされている場合、基本的にここでは運が悪いのではないでしょうか? 開発環境からデプロイする小規模な開発者向けに、これらの一部を設計したように感じます。これは素晴らしい使用例ですが、このツールを使用したエンタープライズ エクスペリエンスがどのようなものかを知りたいと思っています。

助言がありますか?

4

1 に答える 1

26

アプリケーションに Visual Studio 2010 を使用していない場合は、次のいずれかを選択することをお勧めします。

  1. msdeploy.exe を使用する
  2. ビルド サーバーに Visual Studio 2010 をインストールし、MSDeploy タスク自体を使用します。

もう少し説明しましょう。

オプション1

MSDeploy 自体は MSBuild に依存していないため、ビルド サーバーに単独でインストールしてパッケージを作成できます。ここからダウンロードできます。その後、Execタスクを使用して MSBuild 展開スクリプトを作成し、パッケージを作成するコマンドで msdeploy.exe を呼び出すことができます。

2番目のオプションについて

.targets ファイルと MSDeploy のタスクは、.NET フレームワークではなく、Visual Studio 2010 自体で展開されます。したがって、これらのいずれかを活用したい場合は、ビルド サーバーに VS 2010 をインストールする必要があります。

投稿でPackageターゲットの使用について言及しました。そのターゲットは .NET 4 プロジェクトのより大きなビルド プロセスの一部であるため、それを使用することはできません。あなたができることは、 MSBuild 4を使用してVS 2010 for Web Deploymentで提供されるタスクを呼び出す別のMSBuildファイル(プロジェクトファイルではなく別のもの)を作成することです。

ここで私はあなたの番号付きリストに具体的に答えます

  1. これらのタスクはフレームワークではなく VS 自体に付属しているため、Visual Studio 2010 をインストールする必要があります。
  2. これらのファイルは、パッケージと対話するために使用されます。パッケージはアプリケーション全体を表します。deploy.cmd は msdeploy.exe を呼び出して、展開を実行します。SourceManifest.xml と SetParameters.xml は、アプリの展開をカスタマイズするために使用されます。deploy.cmd は、msdeploy.exe を呼び出すときにこれらのファイルを使用します。つまり、Web アプリケーションがインストールされる場所へのパスをカスタマイズする場合は、他のオプションと共に SetParameters.xml で設定します。
  3. 設定は IIS から行うことができますが、多くの開発者は IIS の代わりに VS アプリケーション サーバーを使用することを好みます。それが私の好みです。この場合、テンプレートとして使用する環境にアプリケーションをデプロイすることをお勧めします。必要なすべての IIS 設定を行い、MSDeploy パッケージを作成してから、パッケージから archive.xml ファイルを取得し、独自のパッケージを作成するときにそれを使用します。もう 1 つのオプションは、ビルド プロセスをデプロイできる IIS サーバーをセットアップし、MSDeploy を使用してアプリを構成するファイルを同期し、もう一度その IIS サーバーからパッケージを生成することです。
于 2010-04-09T23:41:06.817 に答える