web-dev-qa-db-ja.com

MSDeploy.exeによるWeb配置

JenkinsでCIビルドサーバーを構成しています。ビルド手順の後で、ウェブサイトをデプロイしたいと思います。

VisualStudioからウェブサイトを公開する際、Web Deployで公開しました。変更されたファイルを実際に公開するので、デプロイが非常に高速なので、この方法が好きです。

次に、ビルドサーバーで同じことを実行しようとしています。アプリケーションをビルドし(MSBuild.exeを使用)、アプリケーションをデプロイします(MSDeploy.exe?を使用)。

MSBuild.exeを使用してアプリケーションをデプロイする投稿とMSDeploy.exeを使用する他の投稿を見たことがありますが、そこに大きな違いはありますか?

これに役立つアドバイスはありますか?

おかげで、高度な。

14
Abraham Duran

MSBuildを使用してMSDeployパッケージを作成し、次にMSDeploy.exeを使用してそのパッケージを任意の環境に展開します。このリンクは、WebDeploy/MSDeployのしくみについて理解を深めるのに役立ちます。

http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/

MSDeployを使用してデータベースやWeb以外のアプリケーションを展開することもできます。この方法を使用して、50以上の製品の展開を完全に自動化しました。

http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/

http://dotnetcatch.com/2016/03/18/deploy-non-web-apps-with-msdeploy/

[〜#〜]更新[〜#〜]-MSDeployパッケージを使用するための基本的な手順:

  1. MSBuild呼び出しに/t:Package引数を追加して、ビルドにパッケージを作成します
  2. 結果のパッケージをbinディレクトリからアーティファクトリポジトリに保存します
  3. MSDeploy.exeを呼び出して、ターゲットサーバーにパッケージを展開します。ここには多くのオプションがありますが、基本的なコマンドは次のとおりです。

    "c:\ Program Files(x86)\ IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package = mypackage.Zip -dest:auto、computerName = localhost

14
chief7

現在のVisual Studioとdotnetを使用するとさらに簡単です。VisualStudioで発行プロファイルを作成し、CIサーバーでdotnetを使用します。

dotnet publish /p:PublishProfile=PROFILE-NAME /p:Password=*****

https://github.com/aspnet/Docs/blob/master/aspnetcore/Host-and-deploy/visual-studio-publish-profiles.md

0
Auspex