使用OpsWorks中的环境变量的自定义食谱无法正常工作

时间:2019-01-12 15:12:31

标签: ruby amazon-web-services tomcat aws-opsworks cookbook

我有一个在Aws OpsWorks上运行的Tomcat应用程序。我从以下存储库中获取食谱:https://github.com/aws-samples/opsworks-example-cookbooks。我已经做了一些调整,但是效果很好。

我现在的问题是我想访问在OpsWorks控制台上设置的环境变量。我只需一个变量就可以做到这一点。如果我尝试放入另一个,则不起作用。我的Ruby技能很差,所以我认为这很容易。

下面是我配置环境变量的部分。 DB_URL有效,但是另一个名为“ ENVIRONMENT”的环境无效。

include_recipe 'tomcat::service'

Chef::Log.info("URL: #{node[:deploy]['ballstreetapi'][:environment_variables][:DB_URL]}")
Chef::Log.info("URL: #{node[:deploy]['ballstreetapi'][:environment_variables][:ENVIRONMENT]}")

template 'tomcat environment configuration' do
  path ::File.join(node['tomcat']['system_env_dir'], "tomcat#{node['tomcat']['base_version']}")
  source 'tomcat_env_config.erb'
  owner 'root'
  group 'root'
  mode 0644
  backup false
  variables( :a => node[:deploy]['ballstreetapi'][:environment_variables][:DB_URL])
  variables( :environment => node[:deploy]['ballstreetapi'][:environment_variables][:ENVIRONMENT]) 
  notifies :restart, resources(:service => 'tomcat')
end

template 'tomcat server configuration' do
  path ::File.join(node['tomcat']['catalina_base_dir'], 'server.xml')
  source 'server.xml.erb'
  owner 'root'
  group 'root'
  mode 0644
  backup false
  notifies :restart, resources(:service => 'tomcat')
end

上面的代码使用的文件:

DB_URL="<%= @a %>"
ENVIRONMENT="<%= @environment %>"

0 个答案:

没有答案