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.
- data/Changelog.md +22 -0
- data/LICENSE +1 -1
- data/lib/capify-ec2/version.rb +1 -1
- data/readme.md +32 -10
- metadata +8 -12
data/Changelog.md
CHANGED
@@ -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.
|
data/lib/capify-ec2/version.rb
CHANGED
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
|
-
|
230
|
-
|
231
|
-
|
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
|
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:
|
5
|
-
prerelease:
|
4
|
+
hash: 1
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 4
|
9
9
|
- 3
|
10
|
-
|
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-
|
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:
|
112
|
+
hash: 3
|
115
113
|
segments:
|
116
|
-
-
|
117
|
-
|
118
|
-
- 1
|
119
|
-
version: 1.3.1
|
114
|
+
- 0
|
115
|
+
version: "0"
|
120
116
|
requirements: []
|
121
117
|
|
122
118
|
rubyforge_project: capify-ec2
|