我想知道配置WAS Liberty安装的最佳方法是什么,允许动态地从DEV环境配置切换到UAT(测试)环境配置。
详细说明,我们对glassfish服务器进行了类似的设置,我们只需在Glassfish控制台中为两者配置系统属性。例如
hostname.uat="some uat value"
hostname.dev="some dev value"
放弃" .uat "或" .dev "在Glassfish的系统属性配置中,该属性处于活动状态。在Glassfish中,这可以在应用程序运行时动态完成(无需重启)。
是否有人可以详细说明如何在WAS Liberty中实现类似的设置?
谢天谢地
答案 0 :(得分:0)
您可以在两个可能的位置创建server.env
文件:
${wlp.install.dir}/etc/server.env
(属性应用于所有服务器)或
${server.config.dir}/server.env
(仅适用于一台服务器的属性)
并指定该文件中的任何环境变量。
例如:
# Specify properties and values
admin.email=dev.admin@domain.com
admin.email.uat=uat.admin@domain.com
要在应用程序环境(例如Servlet)中访问这些属性,请执行以下操作:
System.getenv("admin.email"); // returns "dev.admin@domain.com"
其他有用的属性也可以在server.env
文件中指定,例如JAVA_HOME
,WLP_USER_DIR
,WLP_OUTPUT_DIR
和WLP_DEBUG_ADDRESS
。
有关此问题的IBM完整文档,请参阅:
Customizing the Liberty Environment。
答案 1 :(得分:0)
我们所做的是使用Ansible生成Liberty服务器,其中变量可以根据环境添加到ansible库存中。
因此,我们的部署基本上会删除并重新创建Liberty服务器,方法是使用ansible模板和角色根据需要将其标记出来。
最后,我们在部署时使用Hasicorp Vault(您也可以使用ansible-vault)获取凭据或机密以获取凭据。然后将其作为JSON注入Ansible,并用于标记server.xml和其他相关配置文件。