在特定的Jenkins构建上修改保存的工件以进行部署

时间:2011-06-03 15:44:38

标签: hudson jenkins hudson-plugin-batch-task

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

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

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

我知道有一个参数化构建,我知道有批处理任务,但我需要两者的组合。这可能吗?

1 个答案:

答案 0 :(得分:0)

它并不优雅,但我认为你可以实现你想要的单独构建。你需要:

  1. A Parameterized Build(你知道的)
  2. A way to access artifacts from another build
  3. 鉴于这些部分,您应该能够创建一个完全符合您描述的参数化构建:抓取构建工件,管理配置并为用户提供某个位置。当然,魔鬼在细节中,例如使用户“选择正确的构建”变得容易,这可能很棘手。


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