capobvious 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,6 +18,8 @@ Capistrano::Configuration.instance.load do
18
18
 
19
19
 
20
20
  set :unicorn_init, "unicorn_#{application}"
21
+ set :unicorn_conf, "#{current_path}/config/unicorn.rb"
22
+ set :unicorn_pid, "#{shared_path}/pids/unicorn.pid"
21
23
 
22
24
  psql = "psql -h localhost"
23
25
  psql_postgres = "#{psql} -U postgres"
@@ -55,7 +57,7 @@ Capistrano::Configuration.instance.load do
55
57
  set :timestamp, Time.new.to_i.to_s
56
58
  set :db_archive_ext, "tar.bz2"
57
59
  set :arch_extract, "tar -xvjf"
58
- set :arch_create, "tar -cjf"
60
+ set :arch_create, "tar -cvjf"
59
61
 
60
62
  set :db_file_name, "#{database}-#{timestamp}.sql"
61
63
  set :sys_file_name, "#{application}-system-#{timestamp}.#{db_archive_ext}"
@@ -220,11 +222,11 @@ Capistrano::Configuration.instance.load do
220
222
  task :sys do
221
223
  backup.sys
222
224
  system "rm -rfv public/system/"
223
- system "#{arch_extract} #{local_folder_path}/#{sys_file_name} -opublic"
224
- end
225
- task :db do
226
- db.pg_import
225
+ system "cd public && #{arch_extract} ../#{local_folder_path}/#{sys_file_name}"
227
226
  end
227
+ # task :db do
228
+ # db.pg_import
229
+ # end
228
230
  end
229
231
 
230
232
  #def prompt_with_default(var, default)
@@ -462,6 +464,62 @@ Capistrano::Configuration.instance.load do
462
464
  end
463
465
 
464
466
 
467
+ def which(name)
468
+ run "which #{name}"
469
+ end
470
+
471
+
472
+ namespace :runit do
473
+ desc "init"
474
+ task :init, :roles => :web do
475
+ join_ruby = rvm_ruby_string[/\d.\d.\d/].delete('.')
476
+ local_runit_path = "#{shared_path}/runit_temp"
477
+ runit = "/etc/sv/#{application}"
478
+ runit_path = "/etc/service/#{application}"
479
+ wrapper = "#{join_ruby}_unicorn"
480
+ logger.important('Creating unicorn wrapper', 'runit')
481
+ run "rvm wrapper #{rvm_ruby_string} #{join_ruby} unicorn"
482
+
483
+ run = <<EOF
484
+ #!/bin/sh
485
+ exec 2>&1
486
+ export USER=#{user}
487
+ export HOME=/home/$USER
488
+ export RAILS_ENV=#{rails_env}
489
+ UNICORN="/home/#{user}/.rvm/bin/#{wrapper}"
490
+ UNICORN_CONF=#{unicorn_conf}
491
+ cd #{current_path}
492
+ exec chpst -u $USER:$USER $UNICORN -c $UNICORN_CONF
493
+ EOF
494
+ log_run = <<EOF
495
+ #!/bin/bash
496
+ LOG_FOLDER=/var/log/#{application}
497
+ mkdir -p $LOG_FOLDER
498
+ exec svlogd -tt $LOG_FOLDER
499
+ EOF
500
+
501
+ logger.important('Creating local runit path', 'runit')
502
+ run "mkdir -p #{local_runit_path}/log"
503
+ logger.important('Creating run script', 'runit')
504
+ put run, "#{local_runit_path}/run"
505
+ run "chmod +x #{local_runit_path}/run"
506
+ logger.important('Creating log script', 'runit')
507
+ put log_run, "#{local_runit_path}/log/run"
508
+ run "chmod +x #{local_runit_path}/log/run"
509
+
510
+ run "#{sudo} mv #{local_runit_path} #{runit} && #{sudo} ln -s #{runit} #{runit_path}"
511
+ sudo chown -R root:root /etc/sv/three-elements/
512
+
513
+ #logger.important('Creating symlink', 'runit')
514
+ #symlink = "#{sudo} ln -s #{local_runit_path} #{runit_path}"
515
+ #run symlink
516
+
517
+ #puts "$ cat #{runit_path}/run"
518
+ #puts run
519
+ end
520
+ end
521
+
522
+
465
523
 
466
524
  # Check if remote file exists
467
525
  #
@@ -475,8 +533,6 @@ Capistrano::Configuration.instance.load do
475
533
  capture("ps -p $(cat #{pid_file}) ; true").strip.split("\n").size == 2
476
534
  end
477
535
 
478
- set :unicorn_conf, "#{current_path}/config/unicorn.rb"
479
- set :unicorn_pid, "#{shared_path}/pids/unicorn.pid"
480
536
  namespace :unicorn do
481
537
  desc "start unicorn"
482
538
  task :start do
@@ -1,3 +1,3 @@
1
1
  module Capobvious
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capobvious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-06 00:00:00.000000000 Z
12
+ date: 2012-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  requirements: []
81
81
  rubyforge_project: capobvious
82
- rubygems_version: 1.8.23
82
+ rubygems_version: 1.8.24
83
83
  signing_key:
84
84
  specification_version: 3
85
85
  summary: Cap recipes