需要有关在Liberty上部署和管理db,mq等敏感用户/密码数据*的建议。

时间:2016-04-19 14:52:07

标签: websphere websphere-liberty

我们希望将我们的dev + prod WebSphere完整个人资料应用程序移至Liberty。

目前,我们只构建一次(使用Ant脚本)并将相同的包(即EAR)部署到我们的功能,UAT和生产环境中。

数据库和MQ连接(以及相关的敏感数据,如用户名和密码)通过WAS管理控制台直接为每个环境设置,因此我们的EAR中没有此类数据。

每个环境(邮件服务器地址等)更改的一些非敏感设置保存在以(例如configuration_.properties)为后缀的文件中。所有这些文件都捆绑在EAR中。每个WebSphere都定义了一个JVM属性来指定它们正在运行的环境(prd,uat,fnc,lab等)。应用程序启动时,它会读取与环境关联的文件。这很有效。

现在使用Liberty,连接/ MQ池,LDAP用户等在server.xml中定义。

问题:

  • 如何管理由授权管理员替换通过WAS控制台完成的作业的server.xml文件?
  • 如何定义每个环境访问所需的数据库名称/端口/主机/用户/密码?每个环境保留一个server.xml文件?
  • 有没有办法建立一个"基地" server.xml文件和"覆盖"运行时启动时的数据库名称/端口/主机/用户/密码等?
  • 或者可能有更聪明的策略?

我们还不知道我们是否会以传统的ND / Cluster方式运行Liberty或者使用docker基础架构(这对我们来说都是新的......)。

你是如何处理的?

提前致谢。

1 个答案:

答案 0 :(得分:5)

你可以在Liberty中做同样的事情,只使用不同的方法。

1)在您的server.xml文件中,在需要的地方使用变量:   $ {this.style}用于引用系统/引导属性或server.xml定义的变量,或$ {env.ENV_VAR}用于引用环境变量

2)添加每个环境的server.env文件,或者使用configDropins / overrides来定义特定于环境的server.xml片段(这回答了你的一个问题:是的,你可以拥有一个基本的server.xml并使用它环境特定的覆盖)

此处提供更多信息:http://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/cwlp_config.html?lang=en

在这里(特别包括和dropins): http://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/twlp_setup_basics.html?lang=en