我们希望将我们的dev + prod WebSphere完整个人资料应用程序移至Liberty。
目前,我们只构建一次(使用Ant脚本)并将相同的包(即EAR)部署到我们的功能,UAT和生产环境中。
数据库和MQ连接(以及相关的敏感数据,如用户名和密码)通过WAS管理控制台直接为每个环境设置,因此我们的EAR中没有此类数据。
每个环境(邮件服务器地址等)更改的一些非敏感设置保存在以(例如configuration_.properties)为后缀的文件中。所有这些文件都捆绑在EAR中。每个WebSphere都定义了一个JVM属性来指定它们正在运行的环境(prd,uat,fnc,lab等)。应用程序启动时,它会读取与环境关联的文件。这很有效。
现在使用Liberty,连接/ MQ池,LDAP用户等在server.xml中定义。
问题:
我们还不知道我们是否会以传统的ND / Cluster方式运行Liberty或者使用docker基础架构(这对我们来说都是新的......)。
你是如何处理的?
提前致谢。
答案 0 :(得分:5)
你可以在Liberty中做同样的事情,只使用不同的方法。
1)在您的server.xml文件中,在需要的地方使用变量: $ {this.style}用于引用系统/引导属性或server.xml定义的变量,或$ {env.ENV_VAR}用于引用环境变量
2)添加每个环境的server.env文件,或者使用configDropins / overrides来定义特定于环境的server.xml片段(这回答了你的一个问题:是的,你可以拥有一个基本的server.xml并使用它环境特定的覆盖)
在这里(特别包括和dropins): http://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/twlp_setup_basics.html?lang=en