Module: Pointer::Mina
- Included in:
- EasyDeploy
- Defined in:
- lib/pointer/mina.rb
Instance Method Summary collapse
- #check_mina_prereqs ⇒ Object
- #mina_deploy ⇒ Object
- #mina_init ⇒ Object
- #user_has_mina_config ⇒ Object
Instance Method Details
#check_mina_prereqs ⇒ Object
3 4 5 6 7 |
# File 'lib/pointer/mina.rb', line 3 def check_mina_prereqs if File.exists?('config/deploy.rb') and not ARGV.include?('--unlink-mina') user_has_mina_config() end end |
#mina_deploy ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/pointer/mina.rb', line 9 def mina_deploy() what "[local -> remote] mina setup" mina_setup = `mina setup </dev/null || echo "[ERROR]"` puts mina_setup if mina_setup.include? '[ERROR]' raise "mina setup failed" end remote_db_config_file = "#{@options[:site_dir]}/shared/config/database.yml" if @db_config puts "I have a database config, putting it there" put_file_contents(remote_db_config_file, @db_config) else if file_absent(remote_db_config_file) db_config = IO.read(@options[:site_dir] + "/shared/config/database.yml") put_file_contents(remote_db_config_file, db_config) end end what "[local -> remote] mina deploy" mina_deploy = `mina deploy </dev/null || echo "[ERROR]"` puts mina_deploy if mina_deploy.include? '[ERROR]' raise "mina deploy failed" end what "done" end |
#mina_init ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/pointer/mina.rb', line 41 def mina_init() if ARGV.include? '--unlink-mina' puts "Unlinking mina config".on_red File.unlink('config/deploy.rb') if File.exists? 'config/deploy.rb' end rvm_version = rvm!('rvm-prompt').strip #`gem install mina` what "[local] mina init" mina_init = `mina init </dev/null || echo "[ERROR]"` if mina_init.include? '[ERROR]' puts mina_init user_has_mina_config() end config = IO.read('config/deploy.rb') config = config.gsub("# require 'mina/rvm'", "require 'mina/rvm'") config = config.gsub("set :domain, 'foobar.com'", "set :domain, #{@options[:site_host].inspect}") config = config.gsub("set :deploy_to, '/var/www/foobar.com'", "set :deploy_to, #{@options[:site_dir].inspect}") config = config.gsub("# set :user, 'foobar'", " set :user, '#{rails_user}'") config = config.gsub("# invoke :'rvm:use[ruby-1.9.3-p125@default]'", "invoke :'rvm:use[#{rvm_version}]'") config = config.gsub("queue %[-----> Be sure to edit 'shared/config/database.yml'.]", "") puts "Be sure to edit 'shared/config/database.yml'".on_red config = config.gsub("set :repository, 'git://...'", "set :repository, #{remote_repo.inspect}",) #config = config.gsub("set :shared_paths, ['config/database.yml', 'log']", "set :shared_paths, ['log', 'sqlite']",) #database_symlink = "\n" + # ' queue %[rm "#{deploy_to}/current/config/database.yml"]' + "\n" + # ' queue %[ln -s "#{deploy_to}/shared/config/database.yml" "#{deploy_to}/current/config/database.yml"]' + "\n" + # #' queue %[cat "#{deploy_to}/shared/config/database.yml"]' + "\n" + # "\n " # #config = config.gsub("queue 'touch tmp/restart.txt'", database_symlink + "queue 'touch tmp/restart.txt'") config = config.gsub("queue 'touch tmp/restart.txt'", 'queue "mkdir tmp; touch tmp/restart.txt"') IO.write('config/deploy.rb', config) # puts "Run #{'mina setup'.red} and #{'mina deploy'.red}" `ssh -o StrictHostKeyChecking=no #{rails_user}@#{host} pwd` end |
#user_has_mina_config ⇒ Object
83 84 85 86 87 |
# File 'lib/pointer/mina.rb', line 83 def user_has_mina_config puts "Run %s if you already have everything set up" % ["mina deploy".green] puts "or run with --unlink-mina if you want to force mina config generation" exit end |