【问题标题】:Speeding up ASP.NET website publishing加速 ASP.NET 网站发布
【发布时间】:2011-11-29 09:29:03
【问题描述】:

在 ASP.NET 网站项目中是否有任何方法允许从命令提示符发布它,我可以继续处理项目,或者如果它不容易使用,至少加快我的发布任务?

我知道TFS或CruiseControl之类的自动发布工具,所以请不要告诉我这些方式。

我正在考虑创建一个 .bat 文件,每次我必须发布时都会运行该文件。但它不应该在运行过程中接受我所做的更改。

asp.net single file publish

我真的很喜欢 Ludwo 给出的答案,提供更多关于此的信息将非常有帮助。

【问题讨论】:

    标签: asp.net build-process build-automation publishing


    【解决方案1】:

    您可以使用 MsBuild 并行发布您的网站。 Start with this article。它是关于使用 MsBuild 发布一个网站。在 ItemGroup 中定义您的项目并以这种方式使用 MSBuild 任务:

    <MSBuild Projects="@(YourProjectsToBuildInParallel)" BuildInParallel="true" ... 
    

    最后一步是enable parallel processing 进行 MSBuild 任务。

    【讨论】:

    • 答案看起来不错,能否请您解释一下如何将此文件添加到我的项目中,我对 MSBuild 了解不多。
    • 将 MSBuild 项目另存为 PublishWebSite.proj。它可以用作独立的项目文件,也可以用作其他 MSBuild 脚本的一部分。您可以使用 MsBuild.exe 执行它:“MSBuild.exe PublishWebSite.proj /t:Publish”more info here
    【解决方案2】:

    打开另一个 Visual Studio 以继续:P。发布机制可以检测更新并且只能发送更改。所以不要每次都上传完整的网站,如果它真的打扰你。

    【讨论】:

    • 我正在考虑创建一个 .bat 文件,我将在每次发布时运行该文件。但它不应该在运行过程中接受我所做的更改。 stackoverflow.com/questions/5551615/asp-net-single-file-publish
    • 真的有必要在上传的时候进行修改吗?上传您的网站需要多长时间?
    • 哦,这么大的网站,发布需要5分钟,我想稍微修改一下上传,这样可以利用测试人员的时间,我不想整天修改,上传最后让我的测试人员打乒乓球:)
    【解决方案3】:

    使用源代码管理和构建服务器机制。当您提交更改、构建项目、执行您可能/应该进行的任何单元测试时,构建服务器应该能够从源代码管理中提取,然后部署到测试站点。

    根据您使用的构建服务器平台,您可能需要或可能需要完成不同数量的工作。过去我使用过 Atlassian 的 Bamboo。很棒的产品,但您必须使用 MSBuild 配置部署 - 这很好,但可能需要一些时间才能使其完美。我相信有一些很好的例子。

    它将如何为您工作:

    当您完成文件/问题的处理后,您可以提交您的更改。然后构建服务器将检测这些更改并等待不同的时间(等待您提交更多),例如3 分钟,检查您的更改并进行部署。您可以在部署完成后设置通知以转到您的测试团队 - 电子邮件中的链接说明站点在哪里,以及发生了什么变化(基于您的 SVN 提交日志)。

    因此,您的实际工作是检查带有正确注释的文件 - 您就完成了。

    【讨论】:

      猜你喜欢
      • 2011-05-19
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 2011-03-02
      • 1970-01-01
      相关资源
      最近更新 更多