capistrano-campout 1.0.0 → 1.1.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/CHANGELOG.md +3 -0
- data/README.md +4 -20
- data/capistrano-campout.gemspec +1 -1
- data/lib/capistrano-campout/core.rb +22 -18
- data/lib/capistrano-campout/git_utils.rb +4 -0
- data/lib/capistrano-campout/version.rb +1 -1
- data/lib/capistrano-campout.rb +1 -1
- metadata +11 -10
data/CHANGELOG.md
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
## 1.1.0 (Apr 10, 2012)
|
2
|
+
|
3
|
+
Switched to [broach](https://github.com/Manfred/broach) instead of [tinder](https://github.com/collectiveidea/tinder) due to Tinder's reliance on ActiveSupport and the side-effect issues of ActiveSupport with capistrano (See [Issue #169](https://github.com/capistrano/capistrano/issues/169), [Issue #170](https://github.com/capistrano/capistrano/issues/170), and [Pull Request #175](https://github.com/capistrano/capistrano/pull/175) )
|
data/README.md
CHANGED
@@ -16,11 +16,11 @@ from two projects: [capistrano-mountaintop](https://github.com/technicalpickles/
|
|
16
16
|
|
17
17
|
I created my own instead of forking either for the following reasons
|
18
18
|
|
19
|
-
* I wanted to use Tinder (Capfire uses broach)
|
20
|
-
* I wanted
|
19
|
+
* I initially wanted to use Tinder (Capfire uses broach). I later went with Broach due to ActiveSupport (which Tinder requires) conflicts with Capistrano.
|
20
|
+
* I wanted more customization with regard to messages than capfire provided.
|
21
|
+
* I liked EngineYard's logger implementation much better than capistrano-log_with_awesome (which capistrano-mountaintop depends on) - and liked it better integrated into campout's gem itself.
|
21
22
|
* I wanted configuration-file based settings that I can separate into shared (checked into git) and local (git ignored) files
|
22
23
|
* I wanted room to expand for my team's needs for utilities for git and github inspection
|
23
|
-
* Because I could.
|
24
24
|
|
25
25
|
## Installation
|
26
26
|
|
@@ -69,23 +69,7 @@ Otherwise, use the source, Luke.
|
|
69
69
|
|
70
70
|
## Known Limitations
|
71
71
|
|
72
|
-
|
73
|
-
|
74
|
-
Capistrano::Campout requires [Tinder](https://github.com/collectiveidea/tinder) - which requires [ActiveSupport](https://github.com/rails/rails/tree/master/activesupport)
|
75
|
-
|
76
|
-
Apparently, Capistrano's "deploy:cleanup" task breaks in some situations due to conflicts between Capistrano and ActiveSupport
|
77
|
-
|
78
|
-
See:
|
79
|
-
|
80
|
-
* [Issue #169](https://github.com/capistrano/capistrano/issues/169)
|
81
|
-
* [Issue #170](https://github.com/capistrano/capistrano/issues/170)
|
82
|
-
* [Pull Request #175](https://github.com/capistrano/capistrano/pull/175)
|
83
|
-
|
84
|
-
Until that's fixed, you'll have to comment out any "deploy:cleanup" invocations
|
85
|
-
|
86
|
-
### Error checking
|
87
|
-
|
88
|
-
There isn't much. And there's no tests. The latter might be a feature.
|
72
|
+
There isn't much error checking on the campfire connection. And there's no tests. The latter might be a feature.
|
89
73
|
|
90
74
|
## Contributing
|
91
75
|
|
data/capistrano-campout.gemspec
CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.require_paths = ["lib"]
|
21
21
|
gem.version = Capistrano::Campout::VERSION
|
22
22
|
gem.add_dependency('capistrano', '>= 2.11')
|
23
|
-
gem.add_dependency('
|
23
|
+
gem.add_dependency('broach', '>= 0.2')
|
24
24
|
gem.add_dependency('grit', '>= 2.4')
|
25
25
|
end
|
@@ -6,7 +6,7 @@ module Capistrano
|
|
6
6
|
module Campout
|
7
7
|
class TemplateError < NameError
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
class Core
|
11
11
|
attr_accessor :settings, :campfire, :room
|
12
12
|
|
@@ -43,7 +43,7 @@ module Capistrano
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def play(sound)
|
46
|
-
room.
|
46
|
+
room.sound(sound)
|
47
47
|
end
|
48
48
|
|
49
49
|
def paste(text)
|
@@ -54,18 +54,27 @@ module Capistrano
|
|
54
54
|
@campfire ||= connect_to_campfire
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
57
|
+
def find_campfire_room(room_id)
|
58
|
+
broach_settings = {
|
59
|
+
'account' => settings.campfire.domain,
|
60
|
+
'token' => settings.campfire.token
|
61
|
+
}
|
62
62
|
|
63
|
-
if(!settings.campfire.
|
64
|
-
|
63
|
+
if(!settings.campfire.ssl.nil?)
|
64
|
+
broach_settings['use_ssl'] = settings.campfire.ssl
|
65
|
+
else
|
66
|
+
broach_settings['use_ssl'] = true
|
65
67
|
end
|
66
|
-
|
68
|
+
|
69
|
+
Broach.settings = broach_settings
|
70
|
+
Broach::Room.find(room_id)
|
67
71
|
end
|
68
72
|
|
73
|
+
def room
|
74
|
+
@room ||= find_campfire_room(settings.campfire.room)
|
75
|
+
end
|
76
|
+
|
77
|
+
|
69
78
|
def pre_announce(options = {})
|
70
79
|
self.speak(erberize(settings.pre_deploy.message,'pre_deploy message',options[:binding]))
|
71
80
|
if(!settings.suppress_sounds and settings.pre_deploy.play)
|
@@ -130,9 +139,7 @@ module Capistrano
|
|
130
139
|
end
|
131
140
|
|
132
141
|
|
133
|
-
|
134
|
-
@room ||= campfire.find_room_by_id(settings.campfire.room)
|
135
|
-
end
|
142
|
+
|
136
143
|
|
137
144
|
def will_do(options = {})
|
138
145
|
puts "Before Deployment:"
|
@@ -192,11 +199,8 @@ module Capistrano
|
|
192
199
|
|
193
200
|
# Takes a period of time in seconds and returns it in human-readable form (down to minutes)
|
194
201
|
# code from http://www.postal-code.com/binarycode/2007/04/04/english-friendly-timespan/
|
195
|
-
def time_period_to_s(time_period,abbreviated=false,defaultstring
|
202
|
+
def time_period_to_s(time_period,abbreviated=false,defaultstring='')
|
196
203
|
out_str = ''
|
197
|
-
if(time_period.blank?)
|
198
|
-
return defaultstring
|
199
|
-
end
|
200
204
|
interval_array = [ [:weeks, 604800], [:days, 86400], [:hours, 3600], [:minutes, 60], [:seconds, 1] ]
|
201
205
|
interval_array.each do |sub|
|
202
206
|
if time_period >= sub[1] then
|
@@ -211,7 +215,7 @@ module Capistrano
|
|
211
215
|
out_str += time_val.to_s + " #{name}"
|
212
216
|
end
|
213
217
|
end
|
214
|
-
if(out_str.
|
218
|
+
if(out_str.nil? or out_str.empty?)
|
215
219
|
return defaultstring
|
216
220
|
else
|
217
221
|
return out_str
|
data/lib/capistrano-campout.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-campout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement: &
|
16
|
+
requirement: &70255309559320 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,21 +21,21 @@ dependencies:
|
|
21
21
|
version: '2.11'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70255309559320
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement: &
|
26
|
+
name: broach
|
27
|
+
requirement: &70255309558780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '0.2'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70255309558780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: grit
|
38
|
-
requirement: &
|
38
|
+
requirement: &70255309558300 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '2.4'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70255309558300
|
47
47
|
description: ! " Capistrano::Campout is a gem extension to capistrano to post/speak
|
48
48
|
messages and paste logs from a capistrano deployment \n to a campfire room. Settings
|
49
49
|
are configurable using ERB in a \"config/campout.yml\" or \"config/campout.local.yml\"
|
@@ -57,6 +57,7 @@ extensions: []
|
|
57
57
|
extra_rdoc_files: []
|
58
58
|
files:
|
59
59
|
- .gitignore
|
60
|
+
- CHANGELOG.md
|
60
61
|
- Gemfile
|
61
62
|
- LICENSE
|
62
63
|
- README.md
|