无法使用 Chef tomcat 设置环境变量
Unable to set environment variables using Chef tomcat
我正在使用 https://supermarket.chef.io/cookbooks/tomcat
的食谱
instance_name = node['tomcat']['name']
# Install the Tomcat Service
tomcat_install instance_name do
version node['tomcat']['version']
dir_mode '0755'
install_path node['tomcat']['install_dir']
tarball_uri node['tomcat']['install_tar']
tomcat_user node['tomcat']['user']
tomcat_group node['tomcat']['group']
end
tomcat_service instance_name do
action [:start, :enable]
env_vars [{ 'CATALINA_PID' => '/opt/tomcat_helloworld/bin/non_standard_location.pid' }, { 'SOMETHING' => 'some_value' }]
sensitive true
end
我应该找到一个名为 SOMETHING 的环境变量,但是当我找到时
echo $SOMETHING
我没有找到,我也没有在#{derived_install_path}/bin/setenv.sh 中找到 setenv.sh
也有这个变量,但是这个文件不存在。
tomcat_service
自定义资源的 env_vars
属性 设置 Tomcat 服务 instance_name
的环境变量。 这些不是 SHELL 环境变量。
tomcat_service sets up the installed tomcat instance to run using the appropriate init system (sys-v, upstart, or systemd)
在 CentOS 中,服务由 systemctl
处理,因此这些变量被添加到相应的 Systemd 服务文件中。
示例:
/etc/systemd/system/tomcat_helloworld.service
截取的内容:
Environment="CATALINA_BASE=/opt/tomcat_helloworld"
Environment="CATALINA_PID=/opt/tomcat_helloworld/bin/non_standard_location.pid"
Environment="SOMETHING=some_value"
我正在使用 https://supermarket.chef.io/cookbooks/tomcat
的食谱instance_name = node['tomcat']['name']
# Install the Tomcat Service
tomcat_install instance_name do
version node['tomcat']['version']
dir_mode '0755'
install_path node['tomcat']['install_dir']
tarball_uri node['tomcat']['install_tar']
tomcat_user node['tomcat']['user']
tomcat_group node['tomcat']['group']
end
tomcat_service instance_name do
action [:start, :enable]
env_vars [{ 'CATALINA_PID' => '/opt/tomcat_helloworld/bin/non_standard_location.pid' }, { 'SOMETHING' => 'some_value' }]
sensitive true
end
我应该找到一个名为 SOMETHING 的环境变量,但是当我找到时
echo $SOMETHING
我没有找到,我也没有在#{derived_install_path}/bin/setenv.sh 中找到 setenv.sh 也有这个变量,但是这个文件不存在。
tomcat_service
自定义资源的 env_vars
属性 设置 Tomcat 服务 instance_name
的环境变量。 这些不是 SHELL 环境变量。
tomcat_service sets up the installed tomcat instance to run using the appropriate init system (sys-v, upstart, or systemd)
在 CentOS 中,服务由 systemctl
处理,因此这些变量被添加到相应的 Systemd 服务文件中。
示例:
/etc/systemd/system/tomcat_helloworld.service
截取的内容:
Environment="CATALINA_BASE=/opt/tomcat_helloworld"
Environment="CATALINA_PID=/opt/tomcat_helloworld/bin/non_standard_location.pid"
Environment="SOMETHING=some_value"