【问题标题】:How to build multi-configuration war file in Jenkins如何在 Jenkins 中构建多配置战争文件
【发布时间】:2014-02-07 06:28:10
【问题描述】:

在这种 S/W 开发行业中非常新,由于我是系统工程师,我的任务是使用 Jenkins 实现构建和发布管理系统。因此,在从我的 svn 中检查源代码之后,我能够使用 maven 为我的 java proj 安装、配置甚至构建 war 文件。现在的实际任务是为我的不同环境(如 UAT、Staging 和 Prod)为同一个项目构建多个战争文件。我不想创建多个作业,但是我想使用多配置选项来实现这一点。那么,有人可以帮我做这件事吗?

谢谢, 斯里

【问题讨论】:

    标签: jenkins hudson


    【解决方案1】:

    我强烈建议不要构建特定于环境的发布二进制文件。相反,要解决使一种环境与另一种环境不同的原因。通常它是保存在属性文件中的配置,记录如下信息:

    • 数据库 URL 和凭据
    • 系统规模信息
    • ..

    将其加入发行版会使您的软件非常不灵活。例如,为什么每次更改数据库密码时都必须重新构建软件?

    解决方案是使用 JNDI 等标准。在 tomcat 中,您可以使用上下文文件来设置数据源和其他变量。

    【讨论】:

    • 马克,感谢您的回复。是的,你完全正确。要求是构建包含环境特定 app.properties 和 jdbc.property 文件的 war 文件。因此,您的意思是要实现这一点,我们需要使用 JNDI 之类的标准(对我来说听起来很新),因为我是一名硬件系统工程师。你能帮帮我吗?再次感谢,Sree
    • @Sree JNDI 的优点在于它是一个 java 配置标准。 JNDO 的问题在于,对于如何在每个容器中实现它没有标准……(J2EE 把它留给了容器供应商,这造成了这种混乱)。为了让您开始使用 tomcat,我会推荐这个答案:stackoverflow.com/questions/13956651/…。创建特殊的应用程序上下文文件并使用它来覆盖应用程序 web.xml 中的环境设置。一旦你得到它的工作,你永远不会回头。
    • 马克,非常感谢你......会通过这个并让你知道结果:-)
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 2010-11-03
    • 2016-02-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多