capistrano 3.5.0 → 3.6.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/.travis.yml +5 -1
- data/CHANGELOG.md +55 -10
- data/README.md +3 -3
- data/RELEASING.md +1 -0
- data/UPGRADING-3.7.md +97 -0
- data/capistrano.gemspec +1 -1
- data/features/deploy.feature +1 -0
- data/features/stage_failure.feature +9 -0
- data/features/step_definitions/assertions.rb +5 -0
- data/features/step_definitions/setup.rb +4 -0
- data/lib/capistrano/application.rb +5 -10
- data/lib/capistrano/configuration.rb +8 -7
- data/lib/capistrano/configuration/filter.rb +4 -5
- data/lib/capistrano/configuration/host_filter.rb +1 -1
- data/lib/capistrano/configuration/plugin_installer.rb +1 -1
- data/lib/capistrano/configuration/server.rb +8 -2
- data/lib/capistrano/configuration/validated_variables.rb +75 -0
- data/lib/capistrano/configuration/variables.rb +7 -23
- data/lib/capistrano/defaults.rb +10 -0
- data/lib/capistrano/doctor.rb +1 -0
- data/lib/capistrano/doctor/gems_doctor.rb +1 -1
- data/lib/capistrano/doctor/servers_doctor.rb +105 -0
- data/lib/capistrano/doctor/variables_doctor.rb +6 -7
- data/lib/capistrano/dsl.rb +28 -4
- data/lib/capistrano/dsl/paths.rb +1 -1
- data/lib/capistrano/dsl/stages.rb +15 -1
- data/lib/capistrano/dsl/task_enhancements.rb +6 -1
- data/lib/capistrano/i18n.rb +2 -0
- data/lib/capistrano/proc_helpers.rb +13 -0
- data/lib/capistrano/tasks/deploy.rake +9 -1
- data/lib/capistrano/tasks/doctor.rake +6 -1
- data/lib/capistrano/tasks/git.rake +11 -4
- data/lib/capistrano/templates/deploy.rb.erb +2 -15
- data/lib/capistrano/version.rb +1 -1
- data/spec/lib/capistrano/configuration/empty_filter_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/filter_spec.rb +8 -8
- data/spec/lib/capistrano/configuration/host_filter_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/null_filter_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/question_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/role_filter_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/server_spec.rb +3 -2
- data/spec/lib/capistrano/configuration_spec.rb +16 -3
- data/spec/lib/capistrano/doctor/gems_doctor_spec.rb +6 -0
- data/spec/lib/capistrano/doctor/servers_doctor_spec.rb +86 -0
- data/spec/lib/capistrano/doctor/variables_doctor_spec.rb +9 -0
- data/spec/lib/capistrano/dsl/paths_spec.rb +9 -9
- data/spec/lib/capistrano/dsl/task_enhancements_spec.rb +5 -0
- data/spec/lib/capistrano/dsl_spec.rb +37 -3
- data/spec/lib/capistrano/version_validator_spec.rb +2 -2
- data/spec/support/test_app.rb +10 -0
- metadata +12 -4
@@ -98,6 +98,11 @@ module Capistrano
|
|
98
98
|
["namespace:before_task", "namespace:task", "namespace:after_task"]
|
99
99
|
)
|
100
100
|
end
|
101
|
+
|
102
|
+
it "raises a sensible error if the task isn't found" do
|
103
|
+
task_enhancements.after("task", "non_existent_task")
|
104
|
+
expect { Rake::Task["task"].invoke order }.to raise_error(ArgumentError, 'Task "non_existent_task" not found')
|
105
|
+
end
|
101
106
|
end
|
102
107
|
|
103
108
|
describe "remote_file" do
|
@@ -9,7 +9,7 @@ module Capistrano
|
|
9
9
|
describe DSL do
|
10
10
|
let(:dsl) { DummyDSL.new }
|
11
11
|
|
12
|
-
describe
|
12
|
+
describe "#t" do
|
13
13
|
before do
|
14
14
|
I18n.expects(:t).with(:phrase, count: 2, scope: :capistrano)
|
15
15
|
end
|
@@ -19,7 +19,7 @@ module Capistrano
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
describe
|
22
|
+
describe "#stage_set?" do
|
23
23
|
subject { dsl.stage_set? }
|
24
24
|
|
25
25
|
context "stage is set" do
|
@@ -37,7 +37,7 @@ module Capistrano
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
describe
|
40
|
+
describe "#sudo" do
|
41
41
|
before do
|
42
42
|
dsl.expects(:execute).with(:sudo, :my, :command)
|
43
43
|
end
|
@@ -46,5 +46,39 @@ module Capistrano
|
|
46
46
|
dsl.sudo(:my, :command)
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
describe "#execute" do
|
51
|
+
context "use outside of on scope" do
|
52
|
+
after do
|
53
|
+
task.clear
|
54
|
+
Rake::Task.clear
|
55
|
+
end
|
56
|
+
|
57
|
+
let(:task) do
|
58
|
+
Rake::Task.define_task("execute_outside_scope") do
|
59
|
+
dsl.execute "whoami"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
it "prints helpful message to stderr" do
|
64
|
+
expect do
|
65
|
+
expect do
|
66
|
+
task.invoke
|
67
|
+
end.to output(/^.*Warning: `execute' should be wrapped in an `on' scope/).to_stderr
|
68
|
+
end.to raise_error(NoMethodError)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "#invoke" do
|
74
|
+
it "will print a message on stderr, when reinvoking task" do
|
75
|
+
Rake::Task.define_task("some_task")
|
76
|
+
|
77
|
+
dsl.invoke("some_task")
|
78
|
+
expect do
|
79
|
+
dsl.invoke("some_task")
|
80
|
+
end.to output(/.*Capistrano tasks may only be invoked once.*/).to_stderr
|
81
|
+
end
|
82
|
+
end
|
49
83
|
end
|
50
84
|
end
|
@@ -5,13 +5,13 @@ module Capistrano
|
|
5
5
|
let(:validator) { VersionValidator.new(version) }
|
6
6
|
let(:version) { stub }
|
7
7
|
|
8
|
-
describe
|
8
|
+
describe "#new" do
|
9
9
|
it "takes a version" do
|
10
10
|
expect(validator)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
describe
|
14
|
+
describe "#verify" do
|
15
15
|
let(:current_version) { "3.0.1" }
|
16
16
|
|
17
17
|
subject { validator.verify }
|
data/spec/support/test_app.rb
CHANGED
@@ -61,6 +61,12 @@ module TestApp
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
def write_local_stage_file(filename, config=nil)
|
65
|
+
File.open(test_app_path.join("config/deploy/#{filename}"), "w") do |file|
|
66
|
+
file.write(config) if config
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
64
70
|
def append_to_deploy_file(config)
|
65
71
|
File.open(test_stage_path, "a") do |file|
|
66
72
|
file.write config + "\n"
|
@@ -175,4 +181,8 @@ module TestApp
|
|
175
181
|
FileUtils.mkdir_p(location)
|
176
182
|
FileUtils.mv(config_path, location)
|
177
183
|
end
|
184
|
+
|
185
|
+
def git_wrapper_path
|
186
|
+
"/tmp/git-ssh-my_app_name-#{stage}-#{current_user}.sh"
|
187
|
+
end
|
178
188
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Clements
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-07-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: airbrussh
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- README.md
|
146
146
|
- RELEASING.md
|
147
147
|
- Rakefile
|
148
|
+
- UPGRADING-3.7.md
|
148
149
|
- bin/cap
|
149
150
|
- bin/capify
|
150
151
|
- capistrano.gemspec
|
@@ -155,6 +156,7 @@ files:
|
|
155
156
|
- features/installation.feature
|
156
157
|
- features/remote_file_task.feature
|
157
158
|
- features/sshconnect.feature
|
159
|
+
- features/stage_failure.feature
|
158
160
|
- features/step_definitions/assertions.rb
|
159
161
|
- features/step_definitions/cap_commands.rb
|
160
162
|
- features/step_definitions/setup.rb
|
@@ -176,6 +178,7 @@ files:
|
|
176
178
|
- lib/capistrano/configuration/role_filter.rb
|
177
179
|
- lib/capistrano/configuration/server.rb
|
178
180
|
- lib/capistrano/configuration/servers.rb
|
181
|
+
- lib/capistrano/configuration/validated_variables.rb
|
179
182
|
- lib/capistrano/configuration/variables.rb
|
180
183
|
- lib/capistrano/console.rb
|
181
184
|
- lib/capistrano/defaults.rb
|
@@ -184,6 +187,7 @@ files:
|
|
184
187
|
- lib/capistrano/doctor/environment_doctor.rb
|
185
188
|
- lib/capistrano/doctor/gems_doctor.rb
|
186
189
|
- lib/capistrano/doctor/output_helpers.rb
|
190
|
+
- lib/capistrano/doctor/servers_doctor.rb
|
187
191
|
- lib/capistrano/doctor/variables_doctor.rb
|
188
192
|
- lib/capistrano/dotfile.rb
|
189
193
|
- lib/capistrano/dsl.rb
|
@@ -198,6 +202,7 @@ files:
|
|
198
202
|
- lib/capistrano/immutable_task.rb
|
199
203
|
- lib/capistrano/install.rb
|
200
204
|
- lib/capistrano/plugin.rb
|
205
|
+
- lib/capistrano/proc_helpers.rb
|
201
206
|
- lib/capistrano/scm.rb
|
202
207
|
- lib/capistrano/setup.rb
|
203
208
|
- lib/capistrano/svn.rb
|
@@ -230,6 +235,7 @@ files:
|
|
230
235
|
- spec/lib/capistrano/doctor/environment_doctor_spec.rb
|
231
236
|
- spec/lib/capistrano/doctor/gems_doctor_spec.rb
|
232
237
|
- spec/lib/capistrano/doctor/output_helpers_spec.rb
|
238
|
+
- spec/lib/capistrano/doctor/servers_doctor_spec.rb
|
233
239
|
- spec/lib/capistrano/doctor/variables_doctor_spec.rb
|
234
240
|
- spec/lib/capistrano/dsl/paths_spec.rb
|
235
241
|
- spec/lib/capistrano/dsl/task_enhancements_spec.rb
|
@@ -265,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
265
271
|
requirements:
|
266
272
|
- - ">="
|
267
273
|
- !ruby/object:Gem::Version
|
268
|
-
version:
|
274
|
+
version: '2.0'
|
269
275
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
276
|
requirements:
|
271
277
|
- - ">="
|
@@ -273,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
279
|
version: '0'
|
274
280
|
requirements: []
|
275
281
|
rubyforge_project:
|
276
|
-
rubygems_version: 2.6.
|
282
|
+
rubygems_version: 2.6.6
|
277
283
|
signing_key:
|
278
284
|
specification_version: 4
|
279
285
|
summary: Capistrano - Welcome to easy deployment with Ruby over SSH
|
@@ -285,6 +291,7 @@ test_files:
|
|
285
291
|
- features/installation.feature
|
286
292
|
- features/remote_file_task.feature
|
287
293
|
- features/sshconnect.feature
|
294
|
+
- features/stage_failure.feature
|
288
295
|
- features/step_definitions/assertions.rb
|
289
296
|
- features/step_definitions/cap_commands.rb
|
290
297
|
- features/step_definitions/setup.rb
|
@@ -306,6 +313,7 @@ test_files:
|
|
306
313
|
- spec/lib/capistrano/doctor/environment_doctor_spec.rb
|
307
314
|
- spec/lib/capistrano/doctor/gems_doctor_spec.rb
|
308
315
|
- spec/lib/capistrano/doctor/output_helpers_spec.rb
|
316
|
+
- spec/lib/capistrano/doctor/servers_doctor_spec.rb
|
309
317
|
- spec/lib/capistrano/doctor/variables_doctor_spec.rb
|
310
318
|
- spec/lib/capistrano/dsl/paths_spec.rb
|
311
319
|
- spec/lib/capistrano/dsl/task_enhancements_spec.rb
|