vlad 2.2.5 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,16 @@
1
+ === 2.3.0 / 2012-11-23
2
+
3
+ * 2 minor enhancements:
4
+
5
+ * Add the possibility to create ancillary directories during setup_app
6
+ * Updated rake dep to be >= 0.8 and < 11.0 for the new wack version scheme. (MichaelXavier)
7
+
8
+ * 3 bug fixes:
9
+
10
+ * Allow umask to be nil
11
+ * Rake tasks are equivalent to Proc.new, not lambda, therefore stricter (le ugh). (jaswope)
12
+ * Trust umask for releases file tree
13
+
1
14
  === 2.2.5 / 2012-02-22
2
15
 
3
16
  * 1 bug fix:
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ Hoe.spec 'vlad' do
13
13
  developer 'Eric Hodel', 'drbrain@segment7.net'
14
14
  developer 'Wilson Bilkovich', 'wilson@supremetyrant.com'
15
15
 
16
- dependency 'rake', '~> 0.8'
16
+ dependency 'rake', ['>= 0.8', '< 11.0']
17
17
  dependency 'rake-remote_task', '~> 2.0'
18
18
 
19
19
  multiruby_skip << "rubinius"
data/doco/faq.txt CHANGED
@@ -100,6 +100,7 @@ OR: Alternatively, you can do this within your recipes like so:
100
100
 
101
101
  ControlMaster auto
102
102
  ControlPath ~/.ssh/master-%r@%h:%p
103
+ ControlPersist 1h
103
104
 
104
105
  === Q: I'm tired of typing in my password!
105
106
  === A: Me too!
data/lib/vlad/core.rb CHANGED
@@ -26,6 +26,8 @@ namespace :vlad do
26
26
  y Rake::RemoteTask.roles
27
27
  end
28
28
 
29
+ append :ancillary_dir
30
+
29
31
  desc "Setup your servers. Before you can use any of the deployment
30
32
  tasks with your project, you will need to make sure all of your
31
33
  servers have been prepared with 'rake vlad:setup'. It is safe to
@@ -42,12 +44,14 @@ namespace :vlad do
42
44
  dirs = [deploy_to, releases_path, shared_path]
43
45
  dirs << scm_path unless skip_scm
44
46
  dirs += shared_paths.keys.map { |d| File.join(shared_path, d) }
47
+ dirs += ancillary_dir
45
48
  dirs = dirs.join(' ')
46
49
 
47
- commands = [
48
- "umask #{umask}",
49
- "mkdir -p #{dirs}"
50
- ]
50
+ commands = []
51
+
52
+ commands << "umask #{umask}" if umask
53
+ commands << "mkdir -p #{dirs}"
54
+
51
55
  commands << "chown #{perm_owner} #{dirs}" if perm_owner
52
56
  commands << "chgrp #{perm_group} #{dirs}" if perm_group
53
57
 
@@ -62,13 +66,13 @@ namespace :vlad do
62
66
  remote_task :update, :roles => :app do
63
67
  symlink = false
64
68
  begin
65
- commands = ["umask #{umask}"]
69
+ commands = []
70
+ commands << "umask #{umask}" if umask
66
71
  unless skip_scm
67
72
  commands << "cd #{scm_path}"
68
73
  commands << "#{source.checkout revision, scm_path}"
69
74
  end
70
75
  commands << "#{source.export revision, release_path}"
71
- commands << "chmod -R g+w #{latest_release}"
72
76
 
73
77
  unless shared_paths.empty?
74
78
  commands << "rm -rf #{shared_paths.values.map { |p| File.join(latest_release, p) }.join(' ')}"
@@ -87,12 +91,16 @@ namespace :vlad do
87
91
  Rake::Task['vlad:update_symlinks'].invoke
88
92
 
89
93
  symlink = true
90
- commands = [
91
- "umask #{umask}",
94
+ commands = []
95
+
96
+ commands << "umask #{umask}" if umask
97
+
98
+ commands += [
92
99
  "rm -f #{current_path}",
93
100
  "ln -s #{latest_release} #{current_path}",
94
101
  "echo #{now} $USER #{revision} #{File.basename(release_path)} >> #{deploy_to}/revisions.log"
95
102
  ]
103
+
96
104
  commands << "chown #{perm_owner} #{deploy_to}/revisions.log" if perm_owner
97
105
  commands << "chgrp #{perm_group} #{deploy_to}/revisions.log" if perm_group
98
106
 
data/lib/vlad/rails.rb CHANGED
@@ -17,7 +17,7 @@ namespace :vlad do
17
17
  # No application files are on the DB machine, also migrations should only be
18
18
  # run once.
19
19
  remote_task :migrate, :roles => :app do
20
- break unless target_host == Rake::RemoteTask.hosts_for(:app).first
20
+ next unless target_host == Rake::RemoteTask.hosts_for(:app).first
21
21
 
22
22
  directory = case migrate_target.to_sym
23
23
  when :current then current_path
data/lib/vlad.rb CHANGED
@@ -21,7 +21,7 @@ module Vlad
21
21
 
22
22
  ##
23
23
  # This is the version of Vlad you are running.
24
- VERSION = '2.2.5'
24
+ VERSION = '2.3.0'
25
25
 
26
26
  ##
27
27
  # Loads tasks file +tasks_file+ and various recipe styles as a hash
@@ -65,7 +65,7 @@ module Vlad
65
65
  set :skip_scm, false
66
66
 
67
67
  Kernel.load recipes[:config]
68
- Kernel.load "config/deploy_#{ENV['to']}.rb" if ENV['to']
68
+ Kernel.load "#{File.dirname(recipes[:config])}/deploy_#{ENV['to']}.rb" if ENV['to']
69
69
  end
70
70
  end
71
71
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vlad
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
- - 2
9
- - 5
10
- version: 2.2.5
8
+ - 3
9
+ - 0
10
+ version: 2.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Davis
@@ -38,7 +38,7 @@ cert_chain:
38
38
  FBHgymkyj/AOSqKRIpXPhjC6
39
39
  -----END CERTIFICATE-----
40
40
 
41
- date: 2012-02-22 00:00:00 Z
41
+ date: 2012-11-23 00:00:00 Z
42
42
  dependencies:
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rake
@@ -46,13 +46,20 @@ dependencies:
46
46
  requirement: &id001 !ruby/object:Gem::Requirement
47
47
  none: false
48
48
  requirements:
49
- - - ~>
49
+ - - ">="
50
50
  - !ruby/object:Gem::Version
51
51
  hash: 27
52
52
  segments:
53
53
  - 0
54
54
  - 8
55
55
  version: "0.8"
56
+ - - <
57
+ - !ruby/object:Gem::Version
58
+ hash: 39
59
+ segments:
60
+ - 11
61
+ - 0
62
+ version: "11.0"
56
63
  type: :runtime
57
64
  version_requirements: *id001
58
65
  - !ruby/object:Gem::Dependency
@@ -78,11 +85,11 @@ dependencies:
78
85
  requirements:
79
86
  - - ~>
80
87
  - !ruby/object:Gem::Version
81
- hash: 21
88
+ hash: 29
82
89
  segments:
83
- - 2
84
- - 11
85
- version: "2.11"
90
+ - 4
91
+ - 3
92
+ version: "4.3"
86
93
  type: :development
87
94
  version_requirements: *id003
88
95
  - !ruby/object:Gem::Dependency
@@ -108,11 +115,11 @@ dependencies:
108
115
  requirements:
109
116
  - - ~>
110
117
  - !ruby/object:Gem::Version
111
- hash: 31
118
+ hash: 1
112
119
  segments:
113
- - 2
114
- - 14
115
- version: "2.14"
120
+ - 3
121
+ - 3
122
+ version: "3.3"
116
123
  type: :development
117
124
  version_requirements: *id005
118
125
  description: |-
@@ -197,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
204
  requirements: []
198
205
 
199
206
  rubyforge_project: hitsquad
200
- rubygems_version: 1.8.12
207
+ rubygems_version: 1.8.24
201
208
  signing_key:
202
209
  specification_version: 3
203
210
  summary: Vlad the Deployer is pragmatic application deployment automation, without mercy
metadata.gz.sig CHANGED
Binary file