在 Rancher 环境变量中,在一个环境变量的值中引用另一个环境变量的实现
1、现阶段,有 4 个 Rancher 环境变量(未设置默认值,必须设置),其值包含公共部分:dev.xxx.cn
PCS_API_CFG_SCMS_EDITOR_HOST_INFO=https://editor.dev.xxx.cn # 内容管理系统编辑器的 HOME URL PCS_API_CFG_PCS_API_ASSET_HOST_INFO=https://web.dev.xxx.cn # 策划指挥系统接口的资源的 HOME URL PCS_API_CFG_CPU_HOST_INFO=https://fcpu.dev.xxx.cn # CP上传的 HOME URL PCS_API_CFG_SCMS_FRONT_HOST_INFO=https://web.dev.xxx.cn # 内容管理系统的 HTTP 客户端的前端的 HOME URL
2、新阶段,更新 4 个 Rancher 环境变量(已设置默认值,可无需设置)。添加新的值为公共部分的环境变量:RMT_MAIN_DOMAIN
RMT_MAIN_DOMAIN=dev.xxx.cn # 融媒体环境的主域名 PCS_API_CFG_SCMS_EDITOR_HOST_INFO=https://editor.${RMT_MAIN_DOMAIN} # 内容管理系统编辑器的 HOME URL PCS_API_CFG_PCS_API_ASSET_HOST_INFO=https://web.${RMT_MAIN_DOMAIN} # 策划指挥系统接口的资源的 HOME URL PCS_API_CFG_CPU_HOST_INFO=https://fcpu.${RMT_MAIN_DOMAIN} # CP上传的 HOME URL PCS_API_CFG_SCMS_FRONT_HOST_INFO=https://web.${RMT_MAIN_DOMAIN} # 内容管理系统的 HTTP 客户端的前端的 HOME URL
3、Shell 脚本如下所示。如图1
# Rancher 环境变量(未设置默认值,必须设置) if [[ `echo $RMT_MAIN_DOMAIN` == '' ]] then echo "需要设置 RMT_MAIN_DOMAIN" exit 1 else echo "设置的 RMT_MAIN_DOMAIN 为:$RMT_MAIN_DOMAIN" fi # Rancher 环境变量(已设置默认值,可无需设置) env | grep "PCS_API_CFG_SCMS_EDITOR_HOST_INFO" || export PCS_API_CFG_SCMS_EDITOR_HOST_INFO="https://editor.${RMT_MAIN_DOMAIN}" sed -i "s#PCS_API_CFG_SCMS_EDITOR_HOST_INFO#$PCS_API_CFG_SCMS_EDITOR_HOST_INFO#g" $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH echo "PCS_API_CFG_SCMS_EDITOR_HOST_INFO replace $PCS_API_CFG_SCMS_EDITOR_HOST_INFO -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH" echo "PCS_API_CFG_SCMS_EDITOR_HOST_INFO replace $PCS_API_CFG_SCMS_EDITOR_HOST_INFO -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH" >> $DIR/change.log
4、当在 Rancher 中未添加环境变量:RMT_MAIN_DOMAIN 时,升级容器时,报错,如图2
/config/init/config0.sh: line 18: RMT_MAIN_DOMAIN: unbound variable 需要设置 RMT_MAIN_DOMAIN
5、当在 Rancher 中添加环境变量:RMT_MAIN_DOMAIN= ,其值为空字符串时,升级容器时,报错,如图3
需要设置 RMT_MAIN_DOMAIN
6、当在 Rancher 中添加环境变量:RMT_MAIN_DOMAIN=dev.xxx.cn ,其值为 dev.xxx.cn 时,升级容器时,升级成功,环境变量已经生效。如图4
// 内容管理系统编辑器 'scmsEditor' => [ 'hostInfo' => 'https://editor.dev.xxx.cn', // HOME URL 'baseUrl' => '', // BASE URL ],
近期评论