【问题标题】:Web Deploy - How to create a package with selected itemsWeb 部署 - 如何创建包含选定项目的包
【发布时间】:2016-04-28 07:39:09
【问题描述】:

我想尝试使用“Web Deploy”方法来部署我们的网站。在我提问之前,我想提供一些关于当前部署过程的细节:

  1. 这是一个企业站点,托管在多台服务器上(持续部署)。

  2. 文件不是处于“发布”模式,而是处于“调试”模式。

  3. 我们仅手动复制粘贴当前分配相关的文件。比如说本周要部署 Accounts 模块,那么要部署的文件是
    /mysite/App_Code/Models/accounts.cs
    /mysite/pages/accounts.aspxaccounts.aspx.cs

    这 3 个文件将被手动复制到所有服务器的相应文件夹中。多年来,这一直是这里的程序。

  4. 项目“mysite”是一个“ASP.NET 网站”而不是“ASP.NET Web 应用程序”(在 VS2013 中),这意味着这些选项不可用 - 打包/发布 Web 和打包/发布 SQL

我已经在开发系统中创建了包,
(i) 在 Visual Studio 中使用发布选项(Web 部署包)以及
(ii) 在 IIS 中导出应用程序(提供选择文件的选项)

  1. 是否可以使用 VS 发布功能仅为我需要的文件(在本例中为 accounts.cs、accounts.aspx、accounts.aspx.cs)创建一个包。
  2. 是否可以在包中包含自定义 SQL 脚本文件。 (使用 IIS 或 VS)
  3. 如果 Q2 的答案是肯定的,那么它应该只执行一次,而不是针对所有服务器。因为只有一台数据库服务器。怎么做。

我还没有去安装包部分。

【问题讨论】:

    标签: visual-studio-2013 web-deployment webdeploy web-deployment-project microsoft-web-deploy


    【解决方案1】:

    1 - 不是通过 VS,因为 MSBuild for Websites 没有扩展点(据我所知)。 Sayed 有a great post,它描述了网站与应用程序的处理方式不同。

    替代方案 - 您可以将要部署的文件复制到新文件夹,然后使用 MSDeploy.exe 命令行工具创建可以部署到服务器的客户 MSDeploy 包。

    D:\temp>"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:contentPath=%cd%\DefaultWebSite\website1 -dest:package=DefaultWebSite.zip
    Info: Updating MSDeploy.contentPath (MSDeploy.contentPath).
    Info: Adding virtual path (D:\temp\DefaultWebSite\website1)
    Info: Adding directory (D:\temp\DefaultWebSite\website1).
    Total changes: 3 (2 added, 0 deleted, 1 updated, 0 parameters changed, 0 bytes c
    opied)
    
    D:\temp>"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package=DefaultWebSite.zip -dest:contentPath="Default Web Site\website2"
    Info: Adding MSDeploy.contentPath (MSDeploy.contentPath).
    Info: Adding virtual path (Default Web Site\website2)
    Info: Adding directory (Default Web Site\website2).
    Info: Adding file (Default Web Site\website2\Default.aspx).
    Info: Adding file (Default Web Site\website2\Default.aspx.cs).
    Info: Adding file (Default Web Site\website2\Web.config).
    Total changes: 6 (6 added, 0 deleted, 0 updated, 0 parameters changed, 971 bytes
     copied)
    

    2/3 - 是的,您可以将 SQL 包含到 Web 部署包中,但每次部署包时都会部署它。我们发现最好将我们的 SQL 部署分离到自己的包中,这样我们就可以只在需要时部署它。

    这篇文章描述了我们如何处理我们的 SQL 部署 - https://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      相关资源
      最近更新 更多