У меня есть приложение Java, для которого атрибут spring передается через атрибут среды, как показано ниже.Specifing environment in chef
name "dev"
description "The test environment"
override_attributes({"dspring" => {"active_profile" => "dev",
"jss_cert_location" => "/opt/mount1/certs/jssecacerts"},
Я ищу аналогичный подход, чтобы определить среду для приложения ruby в шеф-поваре. Команда, используемая для выполнения этого приложения является:
/usr/local/bin/python2.7 /opt/mount2/ozz/current/src/main.py --port=8080 --debug --log_file_prefix=/opt/mount2/ozz/logs/ozz.log --log_file_max_size=1000000 --env=test
Как я определить этот параметр «--env» в каждой среде повара (Dev, тест, этап & прод)?
Ниже приводится выдержка из рецепта:
ark 'python' do
url 'https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
path "/opt/mount1/"
owner 'python'
action :put
end
execute "cd #{node[:base_dir]}/python && ./configure && make && make altinstall" do
not_if { File.exists?('/usr/local/bin/python2.7') }
end
remote_file "#{node[:base_dir]}/get-pip.py" do
source "https://bootstrap.pypa.io/get-pip.py"
mode 00755
not_if { File.exists?("#{node[:base_dir]}/get-pip.py")}
end
execute "/usr/local/bin/python2.7 #{node[:base_dir]}/get-pip.py"
cookbook_file "ua-parser-master.tar" do
path "/tmp/ua-parser-master.tar"
not_if { File.exists?('/tmp/ua-parser-master.tar') }
end
execute 'tar -C /tmp -xvf /tmp/ua-parser-master.tar && chown -R root.root /tmp/ua-parser-master/ && /usr/local/bin/pip install /tmp/ua-parser-master'
execute '/usr/local/bin/pip install tornado pyyaml user-agents'
template "/etc/init.d/#{node[:application_name]}" do
source 'python_init'
mode 00755
owner 'root'
group 'root'
variables(
:application_name => node[:application_name],
)
end
deploy_revision "/opt/mount1/#{node[:application_name]}" do
repo "#{node[:application_repo]}"
user "python"
keep_releases 10
action :deploy
migrate false
symlink_before_migrate.clear
create_dirs_before_symlink
purge_before_symlink.clear
symlinks.clear
symlinks {}
notifies :restart, "service[#{node[:application_name]}]"
end
service "#{node[:application_name]}" do
supports :restart => true
action :enable
end
Можете ли вы поделиться кодом для своего рецепта, который отвечает за запуск/настройку вашего рубинового приложения? (Кстати, вы упомянули ruby-приложение, но в примере, похоже, это приложение python) – rastasheep