【问题标题】:How to build and deploy .Net applications on a build server?如何在构建服务器上构建和部署 .Net 应用程序?
【发布时间】:2013-02-18 08:04:22
【问题描述】:

我正在尝试将 .Net 构建添加到我们基于 Hudson 的构建服务器中。到目前为止(对于基于 Java 的 Web 应用程序)的方法是一个如下两个阶段的过程:

  • 构建(编译和打包)- 目标不可知
  • 部署到服务器(测试/登台/生产/等)并在版本控制中设置标签

我想为我正在开发的一些 .Net 应用程序设置类似的东西。应用程序将作为 ClickOnce 或安装包分发。

最初,我设置了 2 个 Hudson 作业来构建,然后部署为 ClickOnce 应用程序。这里的问题是,我必须在构建作业中已经定义 ClickOnce 服务器,我真的想在其中执行中性构建,然后再决定要部署到的位置。

所以我尝试使用安装项目,直到我读到无法从命令行构建此类项目。

接下来,我尝试使用 InstallShield Limited Edition 2010,但似乎我必须获得许可证才能在 VS2010 之外的服务器上运行它。

您的经历是什么?您如何为可执行(非 Web).Net 应用程序设置 CI 构建?

【问题讨论】:

    标签: .net deployment continuous-integration


    【解决方案1】:

    从设置/安装程序方面来看,一种解决方案是使用WiX toolset。因为 WiX 解决方案是 Visual Studio 解决方案,它们可以使用 MsBuild 构建,无需在构建机器上安装 Visual Studio 或类似的东西。

    需要注意的一点是,WiX 的学习曲线非常陡峭(尽管有一个很棒的 tutorial 可用),但大部分复杂性似乎是由于 Windows Installer 的底层复杂性,而不是因为WiX 工具集。我发现我花了一段时间才开始使用 WiX,但是一旦我开始使用它,我就明白它为什么会起作用以及潜在的问题是什么。

    【讨论】:

    • +1 - 谢谢。实际上,我发现 WiX 文档比教程更有用。我的建议是从那里开始。
    • 这是否回答了您的问题,或者您是否在获得更一般的“如何为 .NET 应用程序设置 CI 构建”的答案?
    • 我认为 WiX 将是他们的发展方向。你是对的,学习曲线很陡峭,但第一印象是,如果没有当前的 CI 设置,它会更好地适应。我会将您的回复标记为答复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 2017-07-22
    • 2016-09-16
    • 1970-01-01
    相关资源
    最近更新 更多