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}")
|
||||
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,"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")
|
||||
exec_ssh_command_by_sudo_for_copy(ssh,"sudo -p 'sudo password:' service nginx restart")
|
||||
update_infos("Finish restarting nginx")
|
||||
|
|
|
|||
Loading…
Reference in New Issue