capobvious 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/capistrano/ext/capobvious.rb +49 -26
- data/lib/capobvious/version.rb +1 -1
- metadata +1 -1
|
@@ -16,7 +16,6 @@ Capistrano::Configuration.instance.load do
|
|
|
16
16
|
set :use_sudo, false unless exists?(:use_sudo)
|
|
17
17
|
set :scm, :git unless exists?(:scm)
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
set :unicorn_init, "unicorn_#{application}"
|
|
21
20
|
set :unicorn_conf, "#{current_path}/config/unicorn.rb"
|
|
22
21
|
set :unicorn_pid, "#{shared_path}/pids/unicorn.pid"
|
|
@@ -24,26 +23,20 @@ Capistrano::Configuration.instance.load do
|
|
|
24
23
|
psql = "psql -h localhost"
|
|
25
24
|
psql_postgres = "#{psql} -U postgres"
|
|
26
25
|
|
|
27
|
-
# psql_postgre = if `uname -a`.include?("Darwin")
|
|
28
|
-
# else
|
|
29
|
-
# "#{sudo} -u postgres psql"
|
|
30
|
-
# end
|
|
31
|
-
|
|
32
26
|
database_yml_path = "config/database.yml"
|
|
33
27
|
|
|
34
28
|
serv_path = "#{current_path}/#{database_yml_path}"
|
|
35
|
-
if capture("if [ -f #{serv_path} ]; then echo '1'; fi") == '1'
|
|
36
|
-
|
|
37
|
-
else
|
|
38
|
-
|
|
39
|
-
end
|
|
29
|
+
#if capture("if [ -f #{serv_path} ]; then echo '1'; fi") == '1'
|
|
30
|
+
# database_yml = capture("cat #{serv_path}")
|
|
31
|
+
#else
|
|
32
|
+
database_yml = File.open(database_yml_path)
|
|
33
|
+
#end
|
|
40
34
|
config = YAML::load(database_yml)
|
|
41
35
|
adapter = config[rails_env]["adapter"]
|
|
42
36
|
database = config[rails_env]["database"]
|
|
43
37
|
db_username = config[rails_env]["username"]
|
|
44
38
|
db_password = config[rails_env]["password"]
|
|
45
39
|
|
|
46
|
-
|
|
47
40
|
config = YAML::load(File.open(database_yml_path))
|
|
48
41
|
local_rails_env = 'development'
|
|
49
42
|
local_adapter = config[local_rails_env]["adapter"]
|
|
@@ -51,8 +44,6 @@ Capistrano::Configuration.instance.load do
|
|
|
51
44
|
local_db_username = config[local_rails_env]["username"]||`whoami`.chop
|
|
52
45
|
local_db_password = config[local_rails_env]["password"]
|
|
53
46
|
|
|
54
|
-
|
|
55
|
-
|
|
56
47
|
set :local_folder_path, "tmp/backup"
|
|
57
48
|
set :timestamp, Time.new.to_i.to_s
|
|
58
49
|
set :db_archive_ext, "tar.bz2"
|
|
@@ -63,27 +54,27 @@ Capistrano::Configuration.instance.load do
|
|
|
63
54
|
set :sys_file_name, "#{application}-system-#{timestamp}.#{db_archive_ext}"
|
|
64
55
|
set :del_backup, true
|
|
65
56
|
|
|
66
|
-
|
|
67
57
|
def gem_use?(name)
|
|
68
58
|
gemfile_lock = File.read("Gemfile.lock")
|
|
69
|
-
return (gemfile_lock =~ /^\s
|
|
59
|
+
return (gemfile_lock =~ /^\s*#{name}\s+\(/)? true : false
|
|
70
60
|
end
|
|
71
61
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
62
|
+
VarGems = {'delayed_job' => :delayed_job, 'activerecord-postgres-hstore' => :hstore}
|
|
63
|
+
|
|
64
|
+
VarGems.each do |gem,var|
|
|
65
|
+
gem = gem.to_s
|
|
66
|
+
var = var.to_sym
|
|
67
|
+
if gem_use?(gem)
|
|
68
|
+
unless exists?(var)
|
|
69
|
+
logger.debug "gem '#{gem}' is found"
|
|
70
|
+
logger.important("#{var} set to true")
|
|
71
|
+
set var, true
|
|
72
|
+
end
|
|
76
73
|
end
|
|
77
74
|
end
|
|
78
75
|
|
|
79
|
-
#after "deploy:symlink", "auto:run"
|
|
80
|
-
#after "deploy:setup", "db:create", "nginx:conf", "install:p7zip"
|
|
81
|
-
|
|
82
|
-
# load 'deploy/assets'
|
|
83
|
-
|
|
84
76
|
after 'deploy:update_code', 'bundle:install'
|
|
85
77
|
after "deploy:update", "deploy:cleanup"
|
|
86
|
-
|
|
87
78
|
|
|
88
79
|
if !exists?(:assets) || fetch(:assets) == true
|
|
89
80
|
after 'deploy:update_code', 'assets:precompile'
|
|
@@ -657,4 +648,36 @@ EOF
|
|
|
657
648
|
size = run("wc -c #{file_path} | cut -d' ' -f1")
|
|
658
649
|
return size
|
|
659
650
|
end
|
|
651
|
+
|
|
652
|
+
after 'deploy:setup', 'logrotate:init'
|
|
653
|
+
|
|
654
|
+
set :logrotate_path, '/etc/logrotate.d'
|
|
655
|
+
set :logrotate_file_name, "cap_#{application}"
|
|
656
|
+
set :logrotate_file, "#{logrotate_path}/#{logrotate_file_name}"
|
|
657
|
+
namespace :logrotate do
|
|
658
|
+
#http://stackoverflow.com/questions/4883891/ruby-on-rails-production-log-rotation
|
|
659
|
+
task :init do
|
|
660
|
+
str = %|
|
|
661
|
+
#{shared_path}/log/*.log {
|
|
662
|
+
weekly
|
|
663
|
+
missingok
|
|
664
|
+
rotate 52
|
|
665
|
+
compress
|
|
666
|
+
delaycompress
|
|
667
|
+
notifempty
|
|
668
|
+
create 640 root adm
|
|
669
|
+
sharedscripts
|
|
670
|
+
endscript
|
|
671
|
+
copytruncate
|
|
672
|
+
}
|
|
673
|
+
|
|
|
674
|
+
temp_path = "/tmp/#{logrotate_file_name}"
|
|
675
|
+
put str, temp_path
|
|
676
|
+
run "#{sudo} mv -v #{temp_path} #{logrotate_file}"
|
|
677
|
+
end
|
|
678
|
+
task :stop do
|
|
679
|
+
run "#{sudo} rm #{logrotate_file}"
|
|
680
|
+
end
|
|
681
|
+
end
|
|
682
|
+
|
|
660
683
|
end
|
data/lib/capobvious/version.rb
CHANGED