我们有一个.NET Jenkins安装,可以构建一些.NET应用程序。这些应用包含大量*.exe
和*.exe.config
个文件。现在,我将应用程序保存为zipfile,其中包含所有* .exe,所需的DLL和*.xml
文件以及默认的*.exe.config
文件。默认的*.exe.config
从Subversion存储库中获取它们的值,并针对生产环境进行调整。
*.exe.config
文件包含数据库名称,数据库服务器,服务器名称等。这些文件适用于生产环境,但不适用于UAT,QA或开发人员测试。
我想要做的是进行某种构建后任务,用户可以指定特定的构建,以及那些因环境而异的特定参数的值。如果我得到了这个,我可以运行一个解压缩zip文件的Nant或Ant任务,对*.exe.config
文件进行清理并将其部署(我的最终目标),或者至少将其压缩并放在用户可以访问的地方它
我知道有一个参数化构建,我知道有批处理任务,但我需要两者的组合。这可能吗?
答案 0 :(得分:0)
它并不优雅,但我认为你可以实现你想要的单独构建。你需要:
鉴于这些部分,您应该能够创建一个完全符合您描述的参数化构建:抓取构建工件,管理配置并为用户提供某个位置。当然,魔鬼在细节中,例如使用户“选择正确的构建”变得容易,这可能很棘手。
更新(现在我已经了解批处理任务 - 谢谢!):我没有看到像你问的那样参数化批处理任务的方法。我猜测变量的组合使得禁止定义一堆不同的批处理任务。您可以为常见的发布和测试配置定义几个批处理任务,并为更多用户特定的配置提供“munger”程序。