Fix quotation mark bug in copy_site nginx config writing
This commit is contained in:
parent
422a9404e8
commit
866987d3ed
|
|
@ -46,7 +46,19 @@ namespace :create_site do
|
||||||
update_infos("Setting nginx for #{args.site_name}")
|
update_infos("Setting nginx for #{args.site_name}")
|
||||||
nginx_setting_texts = @site_construct.generate_nginx_text
|
nginx_setting_texts = @site_construct.generate_nginx_text
|
||||||
exec_ssh_command_by_sudo_for_copy(ssh,"touch /etc/nginx/orbit_sites/#{@site_construct.get_site_name}")
|
exec_ssh_command_by_sudo_for_copy(ssh,"touch /etc/nginx/orbit_sites/#{@site_construct.get_site_name}")
|
||||||
exec_ssh_command_by_sudo_for_copy(ssh,"x='#{nginx_setting_texts.gsub(/'{1,3}/,"\"\'\"")}'; echo '#{@password}' | sudo -S sh -c \"echo '$x' > /etc/nginx/orbit_sites/#{@site_construct.get_site_name}\"")
|
update_infos("Writing via safe stream...")
|
||||||
|
ssh.open_channel do |channel|
|
||||||
|
channel.exec("sudo -S sh -c 'cat > /etc/nginx/orbit_sites/#{@site_construct.get_site_name}'") do |ch, success|
|
||||||
|
ch.on_extended_data do |c, type, data|
|
||||||
|
if data =~ /password/i
|
||||||
|
c.send_data("#{@password}\n")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
ch.send_data(nginx_setting_texts)
|
||||||
|
ch.eof!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
ssh.loop
|
||||||
update_infos("Restarting nginx")
|
update_infos("Restarting nginx")
|
||||||
exec_ssh_command_by_sudo_for_copy(ssh,"sudo -p 'sudo password:' service nginx restart")
|
exec_ssh_command_by_sudo_for_copy(ssh,"sudo -p 'sudo password:' service nginx restart")
|
||||||
update_infos("Finish restarting nginx")
|
update_infos("Finish restarting nginx")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue