OPENSHIFT DIY Tomcat墨盒setenv.sh脚本没有拿起OPENSHIFT vars

时间:2015-02-10 18:07:28

标签: tomcat openshift setenv

步骤:

  • 希普利关于DIY的“学习Openshift”章节中的后续步骤
  • 制作了DIY墨盒
  • ssh'd in
  • 发送到app-root / data
  • wget ..... tomcat 8
  • 解压
  • 设置conf / server
  • 设置conf / tomcat-users
  • 启动 - 工作 - 可以访问Tomcat主页

我想用$ OPENSHIFT_DIY_IP和$ OPENSHIFT_DIY_PORT env vars替换conf / server.xml文件中的硬编码地址和端口值。

当我直接把这些变量放进去时 - 它没有用。

我已经知道原因是因为$ OPENSHIFT_ *变量没有正确地传递到JVM中 - 这很好。

要解决这个问题 - 我想我可以在bin / setenv.sh文件中添加几个部分,以便将它们捕获到我自己的变量中,然后在server.xml文件中使用我的变量,例如,

MY_IP = $ OPENSHIFT_DIY_IP MY_PORT = $ OPENSHIFT_DIY_PORT

我目前的问题是上述陈述在setenv.sh

中无效

我可以从命令行终端会话执行这些命令并让$ MY_ * vars保留这些值但是当它们被放入setenv并且运行./setenv.sh时 - 这些值将作为空字符串出现。

建设性/有益的想法?

TIA

1 个答案:

答案 0 :(得分:0)

通过直接运行setenv运行setenv时,MY_ *环境变量只能在setenv脚本中使用。

如果希望变量在setenv脚本之外可用,则需要source setenv. setenv

如果您希望这些变量可用于从shell创建的子进程,则需要export您的环境变量。