通过MSDeploy.exe进行Web部署

时间:2016-03-24 01:14:52

标签: jenkins msbuild msdeploy webdeploy web-deployment-project

我正在使用Jenkins配置CI构建服务器。在构建步骤之后,我想部署网站。

从Web Deploy发布的VisualStudio发布网站时。我喜欢这种方法,因为它实际上发布了那些已经改变的文件,因此部署非常快。

现在在构建服务器上我尝试做同样的事情:构建应用程序(使用MSBuild.exe),然后部署应用程序(使用MSDeploy.exe?)。

我已经看到他们使用MSBuild.exe部署应用程序的帖子和使用MSDeploy.exe的其他人的帖子,那里有显着差异吗?

你有什么建议可以帮助解决这个问题吗?

谢谢并提前。

2 个答案:

答案 0 :(得分:14)

使用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. 通过将/t:Package arg添加到MSBuild调用
  2. ,在您的构建中创建一个包
  3. 将生成的包从bin目录存储到工件仓库
  4. 调用MSDeploy.exe将程序包部署到目标服务器。这里有很多选择但是 基本命令如下:

    “c:\ Program Files(x86)\ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe”-verb:sync -source:package = mypackage.zip -dest:auto,computerName = localhost

答案 1 :(得分:0)

使用当前的Visual Studio和dotnet更加容易,在Visual Studio中创建发布配置文件,然后在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