capistrano-deploy-lock 1.0.3 → 1.0.4

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: 3706dab8d4d86569c3426729f9372d4caed6417b
4
- data.tar.gz: c4b39fb3656b58edaa26fac052cda2348fe78c83
3
+ metadata.gz: c1189621f4a67a143e88e4a95ced9252cc67d68d
4
+ data.tar.gz: 174b3c7ea054f3a7da172bd3aaafa20f5ce3a706
5
5
  SHA512:
6
- metadata.gz: 2a2b5d3173cd4b9a1466d804d8bae8485319f09552fce810bec6f4d8127a3fc168d367c50ee71c404b9e8beef4666241a2fecbb0f33f08175bf027edd809ce51
7
- data.tar.gz: fe16dd12b7e801b64ca1eb11d0199ff4c8c4d84bdf2be21a92b85fb3d6e59f7c9e820639eed2e7221b933b52c6bee6eeb45de81c3d48e3d29026898fdbbb29a0
6
+ metadata.gz: 4ad69733250faae70af2b5247bae86389618ff068fe521da04f9550bab1e221fe0dbcab3eb706a84c163c7f648ccbfc5641ad1faf77e043cf06a4b1b5eb62b14
7
+ data.tar.gz: 5d6917d14bb3150fe60b57479ec8b2e4c27c2b6dfe883320e52c5d11f4f06483bb04ad5bede86f6f2267d1b9399f50ec9339ea8d701fada369db1ccd5bd61caf
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  nbproject/
2
+ .idea/
@@ -3,18 +3,18 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "capistrano-deploy-lock"
7
- spec.version = "1.0.3"
8
- spec.author = "Maruf Hasan Bulbul"
9
- spec.email = "mhb.cse@gmail.com"
10
- spec.summary = %q{Deploy lock feature for Capistrano 3.4.x}
11
- spec.description = %q{Lock deploy when deployment is running or custom lock to prevent further deployment for Capistrano 3.}
12
- spec.homepage = "https://github.com/maruf-freelancer/capistrano-deploy-lock"
6
+ spec.name = 'capistrano-deploy-lock'
7
+ spec.version = '1.0.4'
8
+ spec.author = 'Maruf Hasan Bulbul'
9
+ spec.email = 'mhb.cse@gmail.com'
10
+ spec.summary = %q{Deploy lock feature for Capistrano 3.4.x}
11
+ spec.description = %q{Lock deploy when deployment is running or custom lock to prevent further deployment for Capistrano 3.}
12
+ spec.homepage = 'https://github.com/maruf-freelancer/capistrano-deploy-lock'
13
13
 
14
- spec.files = `git ls-files -z`.split("\x0")
15
- spec.require_paths = ["lib"]
14
+ spec.files = `git ls-files -z`.split("\x0")
15
+ spec.require_paths = ['lib']
16
16
 
17
17
  spec.add_dependency 'capistrano', '>= 3.4'
18
- spec.add_development_dependency "rake", ">= 10.0"
18
+ spec.add_development_dependency 'rake', '>= 10.0'
19
19
  spec.required_ruby_version = '>= 1.9.3'
20
20
  end
@@ -1,4 +1,4 @@
1
- set :deploy_lock_file, -> { File.join(shared_path, "deploy-lock.yml") }
1
+ set :deploy_lock_file, -> { File.join(shared_path, 'deploy-lock.yml') }
2
2
  set :deploy_lock_roles, -> { :app }
3
3
  set :default_lock_expiry, (15 * 60)
4
4
  set :deploy_lock, false
@@ -6,27 +6,27 @@ set :lock_message, nil
6
6
  set :lock_expiry, nil
7
7
 
8
8
  namespace :deploy do
9
-
10
- desc "Deploy with a custom deploy lock"
9
+
10
+ desc 'Deploy with a custom deploy lock'
11
11
  task :with_lock do
12
12
  invoke 'deploy:lock'
13
13
  invoke 'deploy'
14
14
  end
15
-
16
- desc "Set deploy lock with a custom lock message and expiry time"
15
+
16
+ desc 'Set deploy lock with a custom lock message and expiry time'
17
17
  task :lock do
18
18
  set :custom_deploy_lock, true
19
19
  set :lock_message, ask('lock message', '', echo: true)
20
20
  puts "Lock message: #{fetch(:lock_message)}"
21
21
 
22
22
  while fetch(:lock_expiry).nil?
23
- set :expire_after, ask('minutes of expiry', 'optional', echo: true)
23
+ set :expire_after, ask('minutes of expiry', 'optional', echo: true)
24
24
  expire_after = fetch(:expire_after)
25
-
26
- if expire_after == "optional"
25
+
26
+ if expire_after == 'optional'
27
27
  # Never expire an explicit lock if no time given
28
28
  set :lock_expiry, false
29
- puts colorize("Lock will never expire automatically.", color: 33)
29
+ puts colorize('Lock will never expire automatically.', color: 33)
30
30
  else
31
31
  unless expire_after.to_i == 0
32
32
  set :lock_expiry, (Time.now + expire_after.to_i * 60).utc
@@ -36,11 +36,11 @@ namespace :deploy do
36
36
  end
37
37
  end
38
38
  end
39
-
39
+
40
40
  invoke 'deploy:create_lock'
41
41
  end
42
-
43
- desc "Creates a lock file, so that futher deploys will be prevented"
42
+
43
+ desc 'Creates a lock file, so that futher deploys will be prevented'
44
44
  task :create_lock do
45
45
  if fetch(:deploy_lock)
46
46
  puts colorize('Deploy lock already created.', color: 33)
@@ -50,7 +50,7 @@ namespace :deploy do
50
50
  if fetch(:lock_message).nil?
51
51
  set :lock_message, "Deploying #{fetch(:branch)} branch in #{fetch(:rails_env)}"
52
52
  end
53
-
53
+
54
54
  if fetch(:lock_expiry).nil?
55
55
  set :lock_expiry, (Time.now + fetch(:default_lock_expiry)).utc
56
56
  end
@@ -62,24 +62,24 @@ namespace :deploy do
62
62
  message: fetch(:lock_message).to_s,
63
63
  custom: !!fetch(:custom_deploy_lock)
64
64
  }
65
-
65
+
66
66
  write_deploy_lock(deploy_lock_data)
67
-
67
+
68
68
  set :deploy_lock, deploy_lock_data
69
69
  end
70
-
71
- desc "Checks for a deploy lock. If present, deploy is aborted and message is displayed. Any expired locks are deleted."
70
+
71
+ desc 'Checks for a deploy lock. If present, deploy is aborted and message is displayed. Any expired locks are deleted.'
72
72
  task :check_lock do
73
73
  # Don't check the lock if we just created it
74
74
  next if fetch(:deploy_lock)
75
75
 
76
76
  fetch_deploy_lock
77
-
77
+
78
78
  # Return if no lock
79
79
  next unless fetch(:deploy_lock)
80
80
 
81
81
  deploy_lock = fetch(:deploy_lock)
82
-
82
+
83
83
  if deploy_lock[:expire_at] && deploy_lock[:expire_at] < Time.now
84
84
  remove_deploy_lock
85
85
  next
@@ -103,37 +103,30 @@ namespace :deploy do
103
103
  exit 1
104
104
  end
105
105
  end
106
-
106
+
107
107
  namespace :unlock do
108
- desc "Unlocks the server for deployment"
108
+ desc 'Unlocks the server for deployment'
109
109
  task :default do
110
110
  # Don't automatically remove custom deploy locks created by deploy:lock task
111
111
  if fetch(:custom_deploy_lock)
112
112
  puts colorize('Not removing custom deploy lock.', color: 33)
113
113
  else
114
114
  remove_deploy_lock
115
- puts colorize("Deploy unlocked.", color: 32)
115
+ puts colorize('Deploy unlocked.', color: 32)
116
116
  end
117
117
  end
118
118
 
119
119
  task :force do
120
120
  remove_deploy_lock
121
- puts colorize("Deploy unlocked.", color: 32)
121
+ puts colorize('Deploy unlocked.', color: 32)
122
122
  end
123
123
  end
124
-
125
- before 'deploy:started', 'check_lock' do
126
- invoke 'deploy:check_lock'
127
- end
128
- before 'deploy:started', 'create_lock' do
129
- invoke 'deploy:create_lock'
130
- end
131
- after 'deploy:published', 'unlock' do
132
- invoke 'deploy:unlock:default'
133
- end
134
- after 'deploy:rollback', 'unlock' do
135
- invoke 'deploy:unlock:default'
136
- end
124
+
125
+ before 'deploy:started', 'check_lock'
126
+ before 'deploy:started', 'create_lock'
127
+ after 'deploy:published', 'unlock:default'
128
+ after 'deploy:rollback', 'unlock:default'
129
+ after 'deploy:failed', 'unlock:default'
137
130
 
138
131
  end
139
132
 
@@ -144,7 +137,7 @@ def fetch_deploy_lock
144
137
 
145
138
  unless fetch(:deploy_lock)
146
139
  # Check all matching servers for a deploy lock.
147
- on roles(fetch(:deploy_lock_roles)).to_a, in: :parallel do |host|
140
+ on roles(fetch(:deploy_lock_roles)), in: :parallel do |host|
148
141
  if test("[ -f #{fetch(:deploy_lock_file)} ]")
149
142
  output = capture "cat #{fetch(:deploy_lock_file)}"
150
143
  set :deploy_lock, YAML.load(output)
@@ -164,7 +157,7 @@ end
164
157
 
165
158
  def remove_deploy_lock
166
159
  on roles(fetch(:deploy_lock_roles)), in: :parallel do |host|
167
- execute :rm, "-f", fetch(:deploy_lock_file)
160
+ execute :rm, '-f', fetch(:deploy_lock_file)
168
161
  end
169
162
  set :deploy_lock, nil
170
163
  set :deploy_lock_removed, true
@@ -180,7 +173,7 @@ def message(application, stage, deploy_lock)
180
173
  else
181
174
  message << "\n\e[0;33mLock must be manually removed with: cap #{stage} deploy:unlock\e[0m"
182
175
  end
183
-
176
+
184
177
  colorize(message)
185
178
  end
186
179
 
@@ -188,4 +181,4 @@ def colorize(text, options = {})
188
181
  attribute = options[:attribute] || 0
189
182
  color = options[:color] || 31
190
183
  "\e[#{attribute};#{color}m" + text.strip + "\e[0m\n"
191
- end
184
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-deploy-lock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maruf Hasan Bulbul
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-07 00:00:00.000000000 Z
11
+ date: 2017-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  version: '0'
74
74
  requirements: []
75
75
  rubyforge_project:
76
- rubygems_version: 2.4.8
76
+ rubygems_version: 2.5.1
77
77
  signing_key:
78
78
  specification_version: 4
79
79
  summary: Deploy lock feature for Capistrano 3.4.x