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

tit*_*u10 2 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基础架构(这对我们来说都是非常新的......).

你怎么处理这个?

提前致谢.

小智 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