capistrano-ext 1.1.1 → 1.2.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.
- data/lib/capistrano/ext/multistage.rb +43 -0
- data/lib/capistrano/ext/version.rb +2 -2
- metadata +5 -4
@@ -0,0 +1,43 @@
|
|
1
|
+
unless Capistrano::Configuration.respond_to?(:instance)
|
2
|
+
abort "capistrano/ext/multistage requires Capistrano 2"
|
3
|
+
end
|
4
|
+
|
5
|
+
Capistrano::Configuration.instance.load do
|
6
|
+
stages = fetch(:stages, %w(staging production))
|
7
|
+
location = fetch(:stage_dir, "config/deploy")
|
8
|
+
|
9
|
+
stages.each do |name|
|
10
|
+
desc "Set the target stage to `#{name}'."
|
11
|
+
task(name) do
|
12
|
+
set :stage, name.to_sym
|
13
|
+
load "#{location}/#{stage}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
namespace :multistage do
|
18
|
+
desc "[internal] Ensure that a stage has been selected."
|
19
|
+
task :ensure do
|
20
|
+
if !exists?(:stage)
|
21
|
+
if exists?(:default_stage)
|
22
|
+
logger.important "Defaulting to `#{default_stage}'"
|
23
|
+
find_and_execute_task(default_stage)
|
24
|
+
else
|
25
|
+
abort "No stage specified. Please specify one of: #{stages.join(', ')} (e.g. `cap #{stages.first} #{ARGV.last}')"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Stub out the staging config files."
|
31
|
+
task :prepare do
|
32
|
+
FileUtils.mkdir_p(location)
|
33
|
+
stages.each do |name|
|
34
|
+
File.open("#{location}/#{name}.rb", "w") do |f|
|
35
|
+
f.puts "# #{name.upcase}-specific deployment configuration"
|
36
|
+
f.puts "# please put general deployment config in config/deploy.rb"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
on :start, "multistage:ensure", :except => stages
|
43
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: capistrano-ext
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
date: 2007-
|
6
|
+
version: 1.2.0
|
7
|
+
date: 2007-07-06 00:00:00 -06:00
|
8
8
|
summary: Capistrano Extensions is a set of useful task libraries and methods that other developers may reference in their own recipe files.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: jamis@37signals.com
|
12
|
-
homepage: http://www.
|
12
|
+
homepage: http://www.capify.com
|
13
13
|
rubyforge_project:
|
14
14
|
description:
|
15
15
|
autorequire:
|
@@ -34,6 +34,7 @@ files:
|
|
34
34
|
- lib/capistrano/ext/assets
|
35
35
|
- lib/capistrano/ext/assets/request-counter.rb
|
36
36
|
- lib/capistrano/ext/monitor.rb
|
37
|
+
- lib/capistrano/ext/multistage.rb
|
37
38
|
- lib/capistrano/ext/version.rb
|
38
39
|
test_files: []
|
39
40
|
|