如何用bosh设置环境变量?

How to set environment variables with bosh?

部署清单中是否有约定或位置来指定机器的环境变量?或者我是否必须编写一个 shell 脚本来执行此操作?如果我必须这样做,我是否必须将它们设置在作业前挂钩中?

创建版本时,惯例是仅设置和导出您的特定 job/process 需要的那些环境变量,并在作业的控制脚本中执行此操作。

例如,bosh 版本在启动 director 进程 (ref) 的 control/shell 脚本中导出了几个环境变量,如 GEM_HOMEhttp_proxyGEM_HOME 静态指向它自己的包目录,http_proxy 是根据部署清单中操作员配置的属性有条件地设置的。

pre-start 挂钩在其自己的进程中执行,因此您的 pre-start 脚本尝试导出的任何环境变量都不会传播到稍后执行的其他 shell 脚本通过 bosh 或 monit。