web-dev-qa-db-ja.com

Jenkins / Hudsonを使用した.NETのデプロイ

.NET Webサイトプロジェクトのデプロイに Jenkins /HudsonCIを使用しています。 MSbuildプラグイン を使用してプロジェクトをビルドし、xcopyを使用してプロジェクトをサーバーにコピーしています。

Visual Studioの公開機能 を使用すると、別のファイルセットが取得されることに気付きました。 configトランスフォームは機能していますが、すべての.csファイルが表示され、 winmerge compareはバイナリが異なることを示しています。

したがって、 Jenkins を公開機能と同じように機能させるか、xcopyのデプロイが機能的に同じであることを確認したいと思います。

22
Dan Williams

Web Deploy を使用し、Jenkinsが以下を含むbatファイルを実行する最終ビルドステップとして、良い経験をしました。

msdeploy.exe -verb:sync -source:package=%PACKAGE% -dest:auto,ComputerName=%TARGETHOST%

ビルドサーバーにWebデプロイパッケージをインストールし、IISに拡張機能をインストールする必要があります。

23
Anders Lindahl

MSBuild Jenkinsプラグインを使用して、プロジェクトをビルドしてからデプロイしています。他の回答で述べたように、 Web Deploy をインストールする必要があります。

Jenkinsのプロジェクト構成ページで、コマンドライン引数フィールドに以下を追加する必要があります。

/p:Configuration=Debug /p:DeployOnBuild=true /p:PublishProfile=publishProfileName

もちろん、最初にVSで、またはIISからエクスポートして、公開プロファイルを作成する必要があります。また、でソリューションファイルのパスを指定する必要があります。 )MSBuildビルドファイルフィールド。

8
elolos