1

我们有一个 .NET Jenkins 安装,它构建了一些 .NET 应用程序。这些应用程序包括一堆*.exe文件*.exe.config。现在,我将应用程序保存为一个 zip 文件,其中包含所有 *.exe、所需的 DLL 和*.xml文件以及默认*.exe.config文件。默认*.exe.config值从 Subversion 存储库中获取它们的值,并针对生产环境进行了调整。

这些*.exe.config文件包含数据库名称、数据库服务器、服务器名称等。这些对于生产环境是正确的,但不适用于 UAT、QA 或开发人员测试。

我想做的是进行某种后期构建任务,用户可以在其中指定特定的构建,以及那些因环境而异的特定参数的值。如果我知道了,我可以运行一个 Nant 或 Ant 任务来解压缩 zip 文件,整理*.exe.config文件并部署它(我的最终目标),或者至少将其压缩并放在用户可以访问的地方。

我知道有一个参数化构建,并且我知道有批处理任务,但我需要将两者结合起来。那可能吗?

4

1 回答 1

0

它没有那么优雅,但我认为你可以将你想要的东西作为一个单独的构建来实现。你需要:

  1. 参数化构建(您知道)
  2. 一种从另一个构建访问工件的方法

鉴于这些部分,您应该能够创建一个与您描述的完全一样的参数化构建:获取构建工件,调整配置并将其提供给用户的某个地方。当然,魔鬼在细节中,例如,让用户轻松“选择正确的构建”可能很棘手。


更新(现在我已经了解了批处理任务 - 谢谢!):我没有看到像你问的那样参数化批处理任务的方法。我猜测变量的组合使得定义一堆不同的批处理任务变得令人望而却步。您可以为常见的发布和测试配置定义几个批处理任务,还可以为更多用户特定的配置提供“munger”程序。

于 2011-06-03T22:18:04.550 回答