capify-ec2 1.4.3.pre7 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/Changelog.md +22 -0
  2. data/LICENSE +1 -1
  3. data/lib/capify-ec2/version.rb +1 -1
  4. data/readme.md +32 -10
  5. metadata +8 -12
@@ -1,3 +1,25 @@
1
+ ## 1.4.3 (Apr 19, 2013)
2
+
3
+ Summary of the changes merged from the 'rolling_deploy' branch, from v1.4.0.pre1 to v1.4.3.pre7.
4
+
5
+ Features:
6
+
7
+ - New rolling deployment mode, allows you to deploy to your instances in serial, rather than in parallel, with an option to perform a healthcheck before proceeding to the next instance. For more information on this feature, check out the [documentation](readme.md#rolling-deployments).
8
+ - Allowed the expected result for the rolling deployment healthcheck to be specified as a regex or an array in addition to a string.
9
+ - Added the ability to automatically deregister and reregister an instance from its associated Elastic Load Balancer when using the rolling deployment feature.
10
+ - Added the ability to run multiple healthchecks per role by specifying an array of them when defining the role.
11
+ - Minimum Capistrano version required set to v2.14 or greater. This fixes several issues, including an exception being thrown when a task was limited to certain roles, which weren't specified during deployment. For example, a task limited to ':roles => [:web]' would raise an exception if you tried to run 'cap db deploy', as no roles would match.
12
+ - The documentation has been rewritten to make it clearer how to use Capify-EC2 and what the available options are.
13
+
14
+ Bugfixes:
15
+
16
+ - Instance options are now properly retained when performing a rolling deployment.
17
+ - Fixed a range of errors in the documentation.
18
+ - Error handling improved when working with the 'ec2:ssh' command.
19
+ - Fixed an issue which was preventing the main deployment task from being executed during a rolling deployment.
20
+ - Fixed an issue with healthcheck expected response output.
21
+ - Exit with status 1 when encountering rolling deployment errors, afer displaying the deployment status overview.
22
+
1
23
  ## 1.4.3.pre7 (Apr 11, 2013)
2
24
 
3
25
  Bugfixes:
data/LICENSE CHANGED
@@ -17,4 +17,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
17
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
18
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
19
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  module Capify
2
2
  module Ec2
3
- VERSION = "1.4.3.pre7"
3
+ VERSION = "1.4.3"
4
4
  end
5
5
  end
6
6
 
data/readme.md CHANGED
@@ -2,9 +2,6 @@
2
2
 
3
3
  Capify-EC2 is used to generate Capistrano namespaces and tasks from Amazon EC2 instance tags, dynamically building the list of servers to be deployed to.
4
4
 
5
- ### Pre-release
6
-
7
- This pre-release version of Capify-EC2 is currently in public testing, please open a Github issue if you are experiencing difficulties.
8
5
 
9
6
 
10
7
  ### Installation
@@ -226,15 +223,34 @@ end
226
223
  As mentioned in the 'EC2 Tags' section, creating an 'Options' tag on your EC2 instances will define those options as 'true' for the associated instance. This allows you to refine your capistrano tasks.
227
224
  For example, if we had the following group of instances in EC2:
228
225
 
229
- server-A Tags: Name => "server-A", Roles => "web"
230
- server-B Tags: Name => "server-B", Roles => "web"
231
- server-C Tags: Name => "server-C", Roles => "web", Options => "worker"
226
+ <table>
227
+ <tr>
228
+ <td>'Name' Tag</td>
229
+ <td>'Roles' Tag</td>
230
+ <td>'Options' Tag</td>
231
+ </tr>
232
+ <tr>
233
+ <td>server-A</td>
234
+ <td>web</td>
235
+ <td></td>
236
+ </tr>
237
+ <tr>
238
+ <td>server-B</td>
239
+ <td>web</td>
240
+ <td></td>
241
+ </tr>
242
+ <tr>
243
+ <td>server-C</td>
244
+ <td>web</td>
245
+ <td>worker</td>
246
+ </tr>
247
+ </table>
232
248
 
233
249
  You could then create a task in your 'deploy.rb' that will only be executed on the worker machine, like so:
234
250
 
235
251
  ```ruby
236
- task :reload_workers => :web, :only=>{:worker} do
237
- # Do something to a server with cron on it
252
+ task :reload_workers => :web, :only=>{:worker=>true} do
253
+ # Do something to a specific server with the 'worker' option in it's EC2 tags.
238
254
  end
239
255
  ```
240
256
 
@@ -246,7 +262,13 @@ As well as defining Options at an instance level via EC2 tags, you can define an
246
262
  ec2_roles {:name=>"web", :options=>{:worker=>"server-C"}}
247
263
  ```
248
264
 
249
- In this case, you set the value of ':worker' equal to the instance name you want to be a worker.
265
+ In this case, you set the value of ':worker' equal to the instance name you want to be a worker. The task definition remains the same:
266
+
267
+ ```ruby
268
+ task :reload_workers => :web, :only=>{:worker=>true} do
269
+ # Do something to a specific server whose instance name is equal to the 'worker' option in the role definition.
270
+ end
271
+ ```
250
272
 
251
273
 
252
274
 
@@ -553,4 +575,4 @@ Report Issues/Feature requests on [GitHub Issues](http://github.com/forward/capi
553
575
 
554
576
  ### Copyright
555
577
 
556
- Copyright (c) 2011, 2012, 2013 Forward. See [LICENSE](https://github.com/forward/capify-ec2/blob/master/LICENSE) for details.
578
+ Copyright (c) 2011, 2012, 2013 Forward. See [LICENSE](https://github.com/forward/capify-ec2/blob/master/LICENSE) for details.
metadata CHANGED
@@ -1,15 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capify-ec2
3
3
  version: !ruby/object:Gem::Version
4
- hash: -3784201798
5
- prerelease: 6
4
+ hash: 1
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 4
9
9
  - 3
10
- - pre
11
- - 7
12
- version: 1.4.3.pre7
10
+ version: 1.4.3
13
11
  platform: ruby
14
12
  authors:
15
13
  - Noah Cantor
@@ -20,7 +18,7 @@ autorequire:
20
18
  bindir: bin
21
19
  cert_chain: []
22
20
 
23
- date: 2013-04-11 00:00:00 Z
21
+ date: 2013-04-19 00:00:00 Z
24
22
  dependencies:
25
23
  - !ruby/object:Gem::Dependency
26
24
  name: fog
@@ -109,14 +107,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
107
  required_rubygems_version: !ruby/object:Gem::Requirement
110
108
  none: false
111
109
  requirements:
112
- - - ">"
110
+ - - ">="
113
111
  - !ruby/object:Gem::Version
114
- hash: 25
112
+ hash: 3
115
113
  segments:
116
- - 1
117
- - 3
118
- - 1
119
- version: 1.3.1
114
+ - 0
115
+ version: "0"
120
116
  requirements: []
121
117
 
122
118
  rubyforge_project: capify-ec2