capistrano3-pushr 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 321427436b3d2e2bd3edbd7842db5889764a59a6
4
+ data.tar.gz: 696848033b90b43799f70a44c46aa9e82e7c6e72
5
+ SHA512:
6
+ metadata.gz: bba2dbd43f3f260a9a61db9544d4f5fc70200bd05847b856179cf0b578a24eee59f16ac848c634748a8ff562628ad8b7d762610e5ac8d2dbfabddf55443da332
7
+ data.tar.gz: 395fb13d7f00767e122d73f5200a62b4c2548d14e14c361ca8eabfba55d790c3c017bdcb2184ad26a80aa4e9272d63147a455407d99bff40734037c61e52f7b2
@@ -0,0 +1,5 @@
1
+ module Capistrano
2
+ module Pushr
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ load File.expand_path('../tasks/pushr.rake', __FILE__)
@@ -0,0 +1,111 @@
1
+ namespace :load do
2
+ task :defaults do
3
+ set :pushr_default_hooks, -> { true }
4
+
5
+ set :pushr_pid, -> { File.join shared_path, 'tmp', 'pids', 'pushr.pid' }
6
+ end
7
+ end
8
+
9
+ namespace :deploy do
10
+ before :starting, :check_pushr_hooks do
11
+ invoke 'pushr:add_default_hooks' if fetch(:pushr_default_hooks)
12
+ end
13
+
14
+ after :publishing, :restart_pushr do
15
+ invoke 'pushr:restart' if fetch(:pushr_default_hooks)
16
+ end
17
+ end
18
+
19
+ namespace :pushr do
20
+ desc 'Add default Pushr hooks.'
21
+ task :add_default_hooks do
22
+ after 'deploy:starting', 'pushr:quiet'
23
+ after 'deploy:updated', 'pushr:stop'
24
+ after 'deploy:reverted', 'pushr:stop'
25
+ after 'deploy:published', 'pushr:start'
26
+ end
27
+
28
+ desc 'Quiet Pushr daemon (stop processing new stuff).'
29
+ task :quiet do
30
+ on roles(fetch(:pushr_roles, :all)) do
31
+ stop_pushr 'USR1'
32
+ end
33
+ end
34
+
35
+ desc 'Stop Pushr daemon.'
36
+ task :stop do
37
+ on roles(fetch(:pushr_roles, :all)) do
38
+ stop_pushr 'TERM'
39
+ end
40
+ end
41
+
42
+ desc 'Start Pushr daemon.'
43
+ task :start do
44
+ on roles(fetch(:pushr_roles, :all)) do
45
+ start_pushr
46
+ end
47
+ end
48
+
49
+ desc 'Restart Pushr daemon.'
50
+ task :restart do
51
+ invoke 'pushr:stop'
52
+ invoke 'pushr:start'
53
+ end
54
+
55
+ desc 'Pushr version.'
56
+ task :version do
57
+ on roles(fetch(:pushr_roles, :all)) do
58
+ print_version
59
+ end
60
+ end
61
+
62
+ desc 'Pushr status.'
63
+ task :status do
64
+ on roles(fetch(:pushr_roles, :all)) do
65
+ status_message = pid_process_exists? ? "running with pid #{pid}" : 'not running'
66
+ puts "Pushr is #{status_message}!"
67
+ end
68
+ end
69
+
70
+ ###
71
+
72
+ def pid
73
+ capture pid_command
74
+ end
75
+
76
+ def pid_command
77
+ "cat #{fetch(:pushr_pid)}"
78
+ end
79
+
80
+ def pid_file_exists?
81
+ test(*("[ -f #{fetch(:pushr_pid)} ]").split(' '))
82
+ end
83
+
84
+ def pid_process_exists?
85
+ pid_file_exists? && test(*("kill -0 `#{pid_command}`").split(' '))
86
+ end
87
+
88
+ def stop_pushr(signal)
89
+ return unless test("[ -d #{release_path} ]") && pid_process_exists?
90
+
91
+ within release_path do
92
+ puts 'Stopping Pushr...'
93
+ execute "kill -#{signal} `#{pid_command}`"
94
+ puts 'done!'
95
+ end
96
+ end
97
+
98
+ def start_pushr
99
+ within release_path do
100
+ puts 'Starting Pushr...'
101
+ execute 'bundle', 'exec', 'pushr', '--pid-file', fetch(:pushr_pid)
102
+ puts 'done!'
103
+ end
104
+ end
105
+
106
+ def print_version
107
+ within release_path do
108
+ puts capture('bundle', 'exec', 'pushr', '--version')
109
+ end
110
+ end
111
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: capistrano3-pushr
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Zsofia Balogh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: capistrano
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.1.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 3.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: pushr-core
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.0.2
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.2
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ description: Pushr specific Capistrano tasks
62
+ email:
63
+ - zsofia.balogh@supercharge.io
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - lib/capistrano/pushr.rb
69
+ - lib/capistrano/pushr/version.rb
70
+ - lib/capistrano/tasks/pushr.rake
71
+ homepage: https://github.com/team-supercharge/capistrano3-pushr
72
+ licenses:
73
+ - GPL-3.0
74
+ metadata: {}
75
+ post_install_message:
76
+ rdoc_options: []
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubyforge_project:
91
+ rubygems_version: 2.4.8
92
+ signing_key:
93
+ specification_version: 4
94
+ summary: Pushr specific Capistrano tasks
95
+ test_files: []