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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6c55e012571d05945a1410d73ca835c3aac0c46
4
- data.tar.gz: af8f1dc09fefb38dee74659f68a05dd27190fe5e
3
+ metadata.gz: 05ddeb1c8daef208506c5a8d4399475b1cca8acb
4
+ data.tar.gz: 15aad2c6852964a826b63cfac91b6100012e9016
5
5
  SHA512:
6
- metadata.gz: 011591323d106d6ff88ead79b0a75709ff4dfe0e8a6395674a86e6667063a8a90cedec011eb59c9403f8670559348f2873a45c39db536b495f79e65aa4bdb4b3
7
- data.tar.gz: 1804d8c0ef3e500cf6dff7f6165b5c0e00953936ec56cefb424e1f63073a0f0d31a23f4b178e3837fbb3f7bc23f776002ae8884bfaf1bd26078182d192cf24ed
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
@@ -1,3 +1,3 @@
1
1
  module ElocalCapistrano
2
- VERSION = '1.0.8'
2
+ VERSION = '2.0.0'
3
3
  end
@@ -1 +1,5 @@
1
- Dir["#{File.expand_path('..',__FILE__,)}/**/*.rb"].each { |path| require path }
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 }
@@ -0,0 +1,5 @@
1
+ task :chef do
2
+ on release_roles :all do
3
+ sudo 'chef-client'
4
+ end
5
+ end
@@ -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: 1.0.8
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-02-20 00:00:00.000000000 Z
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,5 +0,0 @@
1
- Capistrano::Configuration.instance.load do
2
- task :chef do
3
- run "#{try_sudo} chef-client"
4
- end
5
- end
@@ -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