vagrant-orchestrate 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa8ac72aee45a656c1a9e60a575c995075ddb053
4
- data.tar.gz: a242a2fbad92acb639515f796ca8543989f07f05
3
+ metadata.gz: 9057f96a7ecd5de9313d115b4c9dc0e0e43b47bf
4
+ data.tar.gz: 9155032e7fc9a2366c9e60e4c22c4466399a7e85
5
5
  SHA512:
6
- metadata.gz: f6f36cc9190db80c3f91676533aa0e0f3856e0547dc88b62fda842ad3a413d0a4ca1389104bf2aa764d9946753e1b1bb895a76ee0d20a36255ef30a94ec3ea29
7
- data.tar.gz: 303e98568405ab411a3e405d35c0b7aee9c1144480385afbc48f726ee05f0343ea50b95fbebd7c262f296415b71e40d73a282012690d943ecaf2304b0bf28ceb
6
+ metadata.gz: dbe677786084f036f395bf0e5cb0790560674eaefdfd47ba355a6890e047fb8573d16295360c7d37b7a6c6f1167d9ecbc6c756f5bf405c638cedd430dd7df879
7
+ data.tar.gz: 677b58e92422f62a2d063fe54e1bbffc8a0d95eb3b057b92eb066b4e2f8b2a53a5c1bb22f2f87087a0dd84eccb5e48d63e887db3a3614d13b4152e39fc1b77df
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ deploy:
5
+ provider: rubygems
6
+ gem: vagrant-orchestrate
7
+ on:
8
+ tags: true
9
+ api_key:
10
+ secure: qKr5F4kkezl1Vp+wfPX/8IO/7O6lqVqut6/Op1baALCWTtrSLyJpBND1fWaKVf01NZiJTmNXhCTHAEzZjbGkiqBpSqMdR2g8ISxEgj8hScw46RLmYBzH6RdL503O1j7HHyJNf2cUPQjjzLNriPowYhp92aut4z0bMCxZer7bd8o=
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
+ [![Build Status](https://travis-ci.org/Cimpress-MCP/vagrant-orchestrate.svg?branch=master)](https://travis-ci.org/Cimpress-MCP/vagrant-orchestrate)
2
+ [![Gem Version](https://badge.fury.io/rb/vagrant-orchestrate.svg)](http://badge.fury.io/rb/vagrant-orchestrate)
3
+
1
4
  # Vagrant Orchestrate
2
5
 
6
+ ![](http://i.imgur.com/71yAw5v.gif)
7
+
3
8
  This is a Vagrant 1.6+ plugin that allows orchestrated deployments
4
9
  to already provisioned (non-elastic) servers on top of the excellent vagrant-managed-servers plugin.
5
10
  It features a powerful templating `init` command and is designed from the
@@ -262,8 +267,8 @@ The push command is currently limited by convention to vagrant machines that use
262
267
 
263
268
  #### Deployment Strategy
264
269
 
265
- Vagrant Orchestrate supports several deployment [strategies](docs/strategy.md) including parallel, canary and
266
- blue-green.
270
+ Vagrant Orchestrate supports several deployment [strategies](docs/strategy.md) including parallel, canary, and
271
+ half and half.
267
272
 
268
273
  You can push changes to all of your servers in parallel with
269
274
 
data/docs/strategy.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Deployment Strategies
2
2
 
3
3
  Vagrant Orchestrate supports several deployment strategies including parallel and
4
- blue-green. Here we'll cover how to use the various strategies as well as describing
4
+ half and half. Here we'll cover how to use the various strategies as well as describing
5
5
  situations when each might be useful.
6
6
 
7
7
  ## Strategies
@@ -36,9 +36,8 @@ provision [trigger](https://github.com/emyl/vagrant-triggers) to run a smoke tes
36
36
 
37
37
  config.orchestrate.strategy = :canary
38
38
 
39
- ### Blue Green
40
- The [Blue Green](http://martinfowler.com/bliki/BlueGreenDeployment.html) deployment
41
- strategy deploys to half of the cluster in parallel, then the other half, with
39
+ ### Half and Half
40
+ Deploys to half of the cluster in parallel, then the other half, with
42
41
  a pause in between. This won't manage any of your load balancing or networking
43
42
  configuration for you, but if your application has a healthcheck that your load
44
43
  balancer respects, it should be easy to turn it off at the start of your provisioning
@@ -47,19 +46,19 @@ then this will be the best blend of getting the deployment done quickly and main
47
46
  a running application. If the total number of target servers is odd then the smaller
48
47
  number will be deployed to first.
49
48
 
50
- $ vagrant orchestrate push --strategy blue_green
49
+ $ vagrant orchestrate push --strategy half_half
51
50
 
52
- config.orchestrate.strategy = :blue_green
51
+ config.orchestrate.strategy = :half_half
53
52
 
54
- ### Canary Blue Green
53
+ ### Canary Half and Half
55
54
  Combines the two immediately above - deploying to a single
56
55
  server, pausing, then to half of the remaining cluster in parallel, pausing, and then the other half,
57
56
  also in parallel. This is good if you have a large number of servers and want to do a
58
57
  smoke test of a single server before committing to pushing to half of your farm.
59
58
 
60
- $ vagrant orchestrate push --strategy canary_blue_green
59
+ $ vagrant orchestrate push --strategy canary_half_half
61
60
 
62
- config.orchestrate.strategy = :canary_blue_green
61
+ config.orchestrate.strategy = :canary_half_half
63
62
 
64
63
  ## Specifying a strategy
65
64
 
@@ -63,7 +63,7 @@ module VagrantPlugins
63
63
 
64
64
  # Handle a couple of them more tricky edges.
65
65
  strategy = :serial if machines.size == 1
66
- strategy = :blue_green if strategy.to_sym == :canary_blue_green && machines.size == 2
66
+ strategy = :half_half if strategy.to_sym == :canary_half_half && machines.size == 2
67
67
 
68
68
  case strategy.to_sym
69
69
  when :serial
@@ -74,11 +74,11 @@ module VagrantPlugins
74
74
  when :canary
75
75
  # A single canary server and then the rest
76
76
  result = deploy(options, machines.take(1), machines.drop(1))
77
- when :blue_green
77
+ when :half_half
78
78
  # Split into two (almost) equal groups
79
79
  groups = split(machines)
80
80
  result = deploy(options, groups.first, groups.last)
81
- when :canary_blue_green
81
+ when :canary_half_half
82
82
  # A single canary and then two equal groups
83
83
  canary = machines.take(1)
84
84
  groups = split(machines.drop(1))
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Orchestrate
3
- VERSION = "0.4.1"
3
+ VERSION = "0.4.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-orchestrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Baldauf
@@ -76,6 +76,7 @@ files:
76
76
  - .gitignore
77
77
  - .rspec
78
78
  - .rubocop.yml
79
+ - .travis.yml
79
80
  - Gemfile
80
81
  - LICENSE
81
82
  - README.md