10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/campystrano.rb', line 10
def self.load_into(configuration)
configuration.load do
before(TASKS.values) do
_cset(:campy_application) { fetch(:application) }
_cset(:campy_app_env) { fetch(:rails_env) }
_cset(:campy_branch) { fetch(:branch) rescue '' }
_cset(:campy_user) { `whoami` rescue '' }
_cset(:campy_emoji) { fetch(:campfire_emoji) rescue ':sparkles:' }
_cset(:campfire_settings) { raise 'Campfire Settings are required' }
_cset(:campfire) do
options = fetch(:campfire_settings)
subdomain = options.delete(:subdomain)
room = options.delete(:room)
campfire = Tinder::Campfire.new(subdomain, options)
campfire.find_room_by_name(room)
end
end
before 'deploy', TASKS[:start]
after 'deploy', TASKS[:success]
def speak_to_campfire(msg)
campfire.speak "#{campy_emoji}#{msg}#{campy_emoji}"
end
namespace :deploy do
namespace :campystrano do
desc 'Report deploy start to campfire'
task 'start' do
speak_to_campfire("#{campy_user} deploying #{campy_branch} to #{campy_application} #{campy_app_env}")
end
desc 'Report deploy success to campfire'
task 'success' do
speak_to_campfire("Deploy to #{campy_application} #{campy_app_env} finished successfully")
end
end
end
end
end
|