simple_deploy 0.5.4 → 0.5.5

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 CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.5.5
2
+
3
+ * Added backoff functionality to updates so they work better with the force option
4
+ * Now publishes a message when the deployment starts
5
+
1
6
  ## v0.5.4
2
7
 
3
8
  * Added support for internal networking to the deploy and instances commands
@@ -67,6 +67,7 @@ EOS
67
67
 
68
68
  stack.update :force => opts[:force], :attributes => new_attributes if new_attributes.any?
69
69
 
70
+ notifier.send_deployment_start_message unless opts[:quiet]
70
71
  if stack.deploy opts[:force]
71
72
  notifier.send_deployment_complete_message unless opts[:quiet]
72
73
  else
@@ -10,6 +10,11 @@ module SimpleDeploy
10
10
  @notifications = @config.notifications || {}
11
11
  end
12
12
 
13
+ def send_deployment_start_message
14
+ message = "Deployment to #{@stack_name} started."
15
+ send message
16
+ end
17
+
13
18
  def send_deployment_complete_message
14
19
  message = "Deployment to #{@stack_name} complete."
15
20
  attributes = stack.attributes
@@ -23,6 +23,11 @@ module SimpleDeploy
23
23
  def update(args)
24
24
  if !deployment.clear_for_deployment? && args[:force]
25
25
  deployment.clear_deployment_lock true
26
+
27
+ Backoff.exp_periods do |p|
28
+ sleep p
29
+ break if deployment.clear_for_deployment?
30
+ end
26
31
  end
27
32
 
28
33
  if deployment.clear_for_deployment?
@@ -1,3 +1,3 @@
1
1
  module SimpleDeploy
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
@@ -41,6 +41,7 @@ describe SimpleDeploy::CLI::Deploy do
41
41
  and_return(@stack)
42
42
 
43
43
  @stack.should_receive(:deploy).with(true).and_return(true)
44
+ @notifier.should_receive(:send_deployment_start_message)
44
45
  @notifier.should_receive(:send_deployment_complete_message)
45
46
 
46
47
  subject.deploy
@@ -74,6 +75,7 @@ describe SimpleDeploy::CLI::Deploy do
74
75
  and_return(@stack)
75
76
 
76
77
  @stack.should_receive(:deploy).with(true).and_return(false)
78
+ @notifier.should_receive(:send_deployment_start_message)
77
79
 
78
80
  begin
79
81
  subject.deploy
@@ -110,6 +112,7 @@ describe SimpleDeploy::CLI::Deploy do
110
112
 
111
113
  @stack.should_receive(:update).with(hash_including(:force => true, :attributes => [{'foo' => 'bah'}]))
112
114
  @stack.should_receive(:deploy).with(true).and_return(true)
115
+ @notifier.should_receive(:send_deployment_start_message)
113
116
  @notifier.should_receive(:send_deployment_complete_message)
114
117
 
115
118
  subject.deploy
@@ -20,7 +20,16 @@ describe SimpleDeploy do
20
20
  :logger => @logger_mock
21
21
  end
22
22
 
23
- it "should include the github app & chef links if attributes present" do
23
+ it "should support a basic start message" do
24
+ campfire_mock = mock 'campfire mock'
25
+
26
+ SimpleDeploy::Notifier::Campfire.should_receive(:new).and_return campfire_mock
27
+ campfire_mock.should_receive(:send).with "Deployment to stack_name started."
28
+
29
+ @notifier.send_deployment_start_message
30
+ end
31
+
32
+ it "should include the github app & chef links in the completed message" do
24
33
  stack_mock = mock 'stack'
25
34
  campfire_mock = mock 'campfire mock'
26
35
  environment_mock = mock 'environment mock'
data/spec/stack_spec.rb CHANGED
@@ -95,7 +95,7 @@ describe SimpleDeploy do
95
95
 
96
96
  it "should update when the deployment is locked and force is set true" do
97
97
  deployment_mock = mock 'deployment'
98
- deployment_mock.should_receive(:clear_for_deployment?).and_return(false, true)
98
+ deployment_mock.should_receive(:clear_for_deployment?).and_return(false, true, true)
99
99
  deployment_mock.should_receive(:clear_deployment_lock).with(true)
100
100
  @stack.stub(:deployment).and_return(deployment_mock)
101
101
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-17 00:00:00.000000000 Z
12
+ date: 2012-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec