elocal_capistrano 1.0.8 → 2.0.0
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +27 -0
- data/lib/elocal_capistrano/version.rb +1 -1
- data/lib/elocal_capistrano.rb +5 -1
- data/lib/tasks/chef.rake +5 -0
- data/lib/tasks/maintenance.rake +18 -0
- data/lib/tasks/syslog.rake +28 -0
- data/lib/tasks/upstart.rake +53 -0
- metadata +7 -9
- data/lib/elocal_capistrano/chef.rb +0 -5
- data/lib/elocal_capistrano/delayed_job.rb +0 -19
- data/lib/elocal_capistrano/deploy.rb +0 -21
- data/lib/elocal_capistrano/god.rb +0 -10
- data/lib/elocal_capistrano/maintenance.rb +0 -13
- data/lib/elocal_capistrano/puma.rb +0 -22
- data/lib/elocal_capistrano/syslog.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05ddeb1c8daef208506c5a8d4399475b1cca8acb
|
4
|
+
data.tar.gz: 15aad2c6852964a826b63cfac91b6100012e9016
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45baac6e047def871f71221c67cc59b454bb1964dfe29e420fa793d119940d2877ffec1ebd8fa4ce423732013bd350b677a57039bb30c8df06ac24f226e53c14
|
7
|
+
data.tar.gz: 3f9e067e5da54bc3bd7b32eb97fb171941c099c8f08066f6b02966059fd830c6291914aa9e57b7b62d4a1ccec922b3d07612fdbcd491b465314e7c17f68dd4b1
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
AllCops:
|
2
|
+
Include:
|
3
|
+
- Rakefile
|
4
|
+
Exclude:
|
5
|
+
- db/**/*
|
6
|
+
- config/**/*
|
7
|
+
- script/**/*
|
8
|
+
- bin/**/*
|
9
|
+
LineLength:
|
10
|
+
Enabled: true
|
11
|
+
Max: 150
|
12
|
+
Documentation:
|
13
|
+
Enabled: false
|
14
|
+
AlignParameters:
|
15
|
+
Enabled: false
|
16
|
+
MethodLength:
|
17
|
+
Max: 30
|
18
|
+
AndOr:
|
19
|
+
Enabled: false
|
20
|
+
ClassLength:
|
21
|
+
Max: 200
|
22
|
+
ClassAndModuleChildren:
|
23
|
+
Enabled: false
|
24
|
+
MultilineOperationIndentation:
|
25
|
+
Enabled: false
|
26
|
+
Metrics/AbcSize:
|
27
|
+
Max: 20
|
data/lib/elocal_capistrano.rb
CHANGED
@@ -1 +1,5 @@
|
|
1
|
-
|
1
|
+
# Load any pertinent libraries
|
2
|
+
Dir["#{File.expand_path('..', __FILE__)}/**/*.rb"].each { |path| require path }
|
3
|
+
|
4
|
+
# Load capistrano rake tasks
|
5
|
+
Dir["#{File.expand_path('..', __FILE__)}/tasks/*.rake"].each { |path| load path }
|
data/lib/tasks/chef.rake
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
namespace :maintenance do
|
2
|
+
desc 'Show the maintenence page and return a 503 error for every new HTTP request.'
|
3
|
+
task :begin do
|
4
|
+
on release_roles :web do
|
5
|
+
execute [
|
6
|
+
"mkdir -p #{current_path}/public/system",
|
7
|
+
"cp #{current_path}/public/inactive.maintenance.html #{current_path}/public/system/maintenance.html"
|
8
|
+
].join(' && ')
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
desc 'Turn off the maintenance page and resume normal operations.'
|
13
|
+
task :end do
|
14
|
+
on release_roles :web do
|
15
|
+
execute "rm -f #{current_path}/public/system/maintenance.html"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
namespace :load do
|
2
|
+
task :defaults do
|
3
|
+
set :syslog_grep_pattern, ENV['pattern']
|
4
|
+
set :syslog_all_logs, %w(y Y yes true 1).include?(ENV['all_logs'])
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
namespace :syslog do
|
9
|
+
desc <<-EOM
|
10
|
+
Grep the syslog on all boxes for a specific pattern (cap production syslog:grep pattern=my_regex_pattern all_logs=y)
|
11
|
+
EOM
|
12
|
+
task :grep do
|
13
|
+
syslogs_name =
|
14
|
+
if fetch(:syslog_all_logs)
|
15
|
+
'/var/log/syslog*'
|
16
|
+
else
|
17
|
+
'/var/log/syslog'
|
18
|
+
end
|
19
|
+
|
20
|
+
on release_roles :all do
|
21
|
+
if fetch(:syslog_grep_pattern).to_s.strip != ''
|
22
|
+
sudo 'zgrep', '-E', fetch(:syslog_grep_pattern), syslogs_name
|
23
|
+
else
|
24
|
+
fail 'No pattern specified, please use pattern=PATTERN'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
namespace :load do
|
2
|
+
task :defaults do
|
3
|
+
set :puma_application_name, -> { "#{fetch(:application)}_puma" }
|
4
|
+
set :delayed_job_application_name, -> { "#{fetch(:application)}_delayed_job" }
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
namespace :upstart do
|
9
|
+
namespace :puma do
|
10
|
+
%w(reload start stop status).each do |t|
|
11
|
+
desc "Perform #{t} of the puma service"
|
12
|
+
task t do
|
13
|
+
on release_roles :app do
|
14
|
+
Array(fetch(:puma_application_name)).each do |app_name|
|
15
|
+
sudo t, app_name
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
desc 'Perform a restart of the application puma service'
|
22
|
+
task :restart do
|
23
|
+
on release_roles :app do
|
24
|
+
Array(fetch(:puma_application_name)).each do |app_name|
|
25
|
+
execute <<-CMD.strip
|
26
|
+
pid=`status #{app_name} | grep -o -E '[0-9]+'`; if [ -z $pid ]; then sudo start #{app_name}; else sudo reload #{app_name}; fi
|
27
|
+
CMD
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
namespace :delayed_job do
|
34
|
+
%w(start stop status).each do |t|
|
35
|
+
desc "Perform #{t} of the delayed_job service"
|
36
|
+
task t do
|
37
|
+
on release_roles :app do
|
38
|
+
sudo t, fetch(:delayed_job_application_name)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
desc 'Perform a restart of the application puma service'
|
44
|
+
task :restart do
|
45
|
+
on release_roles :app do
|
46
|
+
dj_name = fetch(:delayed_job_application_name)
|
47
|
+
execute <<-CMD.strip
|
48
|
+
pid=`status #{dj_name} | grep -o -E '[0-9]+'`; if [ -z $pid ]; then sudo start #{dj_name}; else sudo restart #{dj_name}; fi
|
49
|
+
CMD
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elocal_capistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Di Marco
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -46,20 +46,18 @@ extensions: []
|
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
48
|
- ".gitignore"
|
49
|
+
- ".rubocop.yml"
|
49
50
|
- Gemfile
|
50
51
|
- LICENSE.txt
|
51
52
|
- README.md
|
52
53
|
- Rakefile
|
53
54
|
- elocal_capistrano.gemspec
|
54
55
|
- lib/elocal_capistrano.rb
|
55
|
-
- lib/elocal_capistrano/chef.rb
|
56
|
-
- lib/elocal_capistrano/delayed_job.rb
|
57
|
-
- lib/elocal_capistrano/deploy.rb
|
58
|
-
- lib/elocal_capistrano/god.rb
|
59
|
-
- lib/elocal_capistrano/maintenance.rb
|
60
|
-
- lib/elocal_capistrano/puma.rb
|
61
|
-
- lib/elocal_capistrano/syslog.rb
|
62
56
|
- lib/elocal_capistrano/version.rb
|
57
|
+
- lib/tasks/chef.rake
|
58
|
+
- lib/tasks/maintenance.rake
|
59
|
+
- lib/tasks/syslog.rake
|
60
|
+
- lib/tasks/upstart.rake
|
63
61
|
homepage: https://github.com/eLocal/elocal_capistrano
|
64
62
|
licenses:
|
65
63
|
- MIT
|
@@ -1,19 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
set(:delayed_job_application_name) { "#{application}_delayed_job" }
|
3
|
-
namespace :delayed_job do
|
4
|
-
namespace :upstart do
|
5
|
-
%w(start stop status).each do |t|
|
6
|
-
desc "Perform #{t} of the delayed_job service"
|
7
|
-
task t, roles: :app, except: { no_release: true } do
|
8
|
-
sudo "#{t} #{delayed_job_application_name}"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
desc 'Perform a restart of the application puma service'
|
12
|
-
task :restart, roles: :app, except: { no_release: true } do
|
13
|
-
run <<-CMD.strip
|
14
|
-
pid=`status #{delayed_job_application_name} | grep -o -E '[0-9]+'`; if [ -z $pid ]; then sudo start #{delayed_job_application_name}; else sudo restart #{delayed_job_application_name}; fi
|
15
|
-
CMD
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
namespace :deploy do
|
4
|
-
|
5
|
-
desc "Symlink configuration files to the config/ directory."
|
6
|
-
task :symlink_shared_configuration, :roles => :app do
|
7
|
-
run <<-CMD
|
8
|
-
if [ -d #{deploy_to}/shared/config ]; then
|
9
|
-
cd #{deploy_to}/shared/config;
|
10
|
-
for f in `ls -x`; do
|
11
|
-
if [ -f #{release_path}/config/$f ]; then
|
12
|
-
mv #{release_path}/config/$f #{release_path}/config/$f.orig;
|
13
|
-
fi;
|
14
|
-
ln -nfs #{deploy_to}/shared/config/$f #{release_path}/config/$f;
|
15
|
-
done;
|
16
|
-
fi;
|
17
|
-
CMD
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
set(:god_application_name) { application }
|
3
|
-
namespace :god do
|
4
|
-
[:start, :stop, :restart].each do |t|
|
5
|
-
task t, :roles => :app, except: { no_release: true } do
|
6
|
-
sudo "god #{t} #{god_application_name}"
|
7
|
-
end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
namespace :maintenance do
|
3
|
-
desc "Show the maintenence page and return a 503 error for every new HTTP request."
|
4
|
-
task :begin, :roles => :app do
|
5
|
-
run "mkdir -p #{current_path}/public/system && cp #{current_path}/public/inactive.maintenance.html #{current_path}/public/system/maintenance.html"
|
6
|
-
end
|
7
|
-
|
8
|
-
desc "Turn off the maintenance page and resume normal operations."
|
9
|
-
task :end, :roles => :app do
|
10
|
-
run "rm -f #{current_path}/public/system/maintenance.html"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
set(:puma_application_name) { "#{application}_puma" }
|
3
|
-
namespace :puma do
|
4
|
-
namespace :upstart do
|
5
|
-
%w(reload start stop status).each do |t|
|
6
|
-
desc "Perform #{t} of the _puma service"
|
7
|
-
task t, roles: :app, except: { no_release: true } do
|
8
|
-
sudo "#{t} #{puma_application_name}"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
desc 'Perform a restart of the application puma service'
|
13
|
-
task :restart, roles: :app, except: { no_release: true } do
|
14
|
-
Array(puma_application_name).each do |app_name|
|
15
|
-
run <<-CMD.strip
|
16
|
-
pid=`status #{app_name} | grep -o -E '[0-9]+'`; if [ -z $pid ]; then sudo start #{app_name}; else sudo reload #{app_name}; fi
|
17
|
-
CMD
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
set(:pattern, '')
|
3
|
-
set(:all_logs, false)
|
4
|
-
|
5
|
-
namespace :syslog do
|
6
|
-
desc "Grep the sys"
|
7
|
-
task :grep do
|
8
|
-
syslogs_name = if all_logs
|
9
|
-
'/var/log/syslog*'
|
10
|
-
else
|
11
|
-
'/var/log/syslog'
|
12
|
-
end
|
13
|
-
|
14
|
-
if pattern.to_s.strip != ''
|
15
|
-
sudo "zgrep -E #{pattern} #{syslogs_name}"
|
16
|
-
else
|
17
|
-
fail "No pattern specified, please use -s pattern=PATTERN"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|