capistrano-hivequeen 7.3.0 → 7.6.0
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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 501195df16e5bf37fcbfd70296ba9241a784f7d56670baf7722f6b627ecce049
|
|
4
|
+
data.tar.gz: 1c684d9f8f7bd13a28a11d21e987b73f972cadd50f8374599bbcf68a81c6f5e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e45901e1a5a9968f4b0703a88cabfc7733a9959177321a860c00f35e3492d702b51454a5353c593573e6a35396d6e5a15611bbe7486fe8c597f0acf4523d3ea
|
|
7
|
+
data.tar.gz: '09c60243c11e62f0f8bbc5d2d7ae4d95e8795c5fbe0039f4c1d338ba2b0a41caa8f3f5d04d22cbda30d81f69db7c328d8c9bfddfb237ff986f29e075609348b4'
|
data/README.rdoc
CHANGED
|
@@ -26,3 +26,15 @@ And in your config/deploy.rb:
|
|
|
26
26
|
Use a specific branch, rather than the default for the Hivequeen environment:
|
|
27
27
|
|
|
28
28
|
cap staging deploy -s branch=some_feature
|
|
29
|
+
|
|
30
|
+
=== Releasing a new version
|
|
31
|
+
First, bump the version in lib/capistrano/hivequeen/version.rb. Then:
|
|
32
|
+
|
|
33
|
+
gem build capistrano-hivequeen.gemspec
|
|
34
|
+
gem push capistrano-hivequeen-$VERSION.gem
|
|
35
|
+
|
|
36
|
+
== License
|
|
37
|
+
|
|
38
|
+
@copy; Copyright Kickstarter, PBC.
|
|
39
|
+
|
|
40
|
+
Released under an MIT License.
|
|
@@ -15,6 +15,9 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
|
15
15
|
# From the command line, use -s override=true to force a deployment
|
|
16
16
|
set :override, false
|
|
17
17
|
|
|
18
|
+
# Don't mark deployments as canary deployments by default
|
|
19
|
+
set :canary, false
|
|
20
|
+
|
|
18
21
|
# Command to get the changes being deployed
|
|
19
22
|
set :changelog_command do
|
|
20
23
|
`git log #{current_commit}...#{real_revision} --pretty="%n%h %an: %s (%ar)" --stat --no-color`
|
|
@@ -75,7 +78,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
|
75
78
|
if exists?(:az)
|
|
76
79
|
servers = servers.select {|s| s['availability_zone'] == az}
|
|
77
80
|
end
|
|
78
|
-
role(role_name.to_sym) { servers.map {|s| s['public_dns']} }
|
|
81
|
+
role(role_name.to_sym) { servers.map {|s| s['public_dns'] || s['private_dns']} }
|
|
79
82
|
end
|
|
80
83
|
|
|
81
84
|
# Ensure some server designated as db server
|
|
@@ -7,6 +7,8 @@ Capistrano::Configuration.instance.load do
|
|
|
7
7
|
before "deploy:stage", "hivequeen:start"
|
|
8
8
|
before 'hivequeen:start', 'hivequeen:check_commit'
|
|
9
9
|
on :start, "hivequeen:require_environment", :except => HiveQueen.environment_names
|
|
10
|
+
on :start, "hivequeen:ensure_canary_specifies_hosts"
|
|
11
|
+
|
|
10
12
|
namespace :hivequeen do
|
|
11
13
|
|
|
12
14
|
desc "[internal] abort if no environment specified"
|
|
@@ -14,6 +16,14 @@ Capistrano::Configuration.instance.load do
|
|
|
14
16
|
abort "No environment specified." if !exists?(:environment)
|
|
15
17
|
end
|
|
16
18
|
|
|
19
|
+
desc "[internal] abort if we're trying to do a canary deploy but HOSTS hasn't been defined"
|
|
20
|
+
task :ensure_canary_specifies_hosts do
|
|
21
|
+
# TODO: I suppose we could randomly select instance(s) in this case
|
|
22
|
+
if canary && !ENV.key?('HOSTS')
|
|
23
|
+
abort "You asked to do a canary deployment but didn't specify any hosts! \nPlease invoke like `cap HOSTS=foo.com deploy -s canary=true'"
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
17
27
|
desc "[internal] Start a deployment in hivequeen"
|
|
18
28
|
task :start do
|
|
19
29
|
# TODO: is there a better way to determine what cap tasks are running?
|
|
@@ -22,7 +32,8 @@ Capistrano::Configuration.instance.load do
|
|
|
22
32
|
params = {
|
|
23
33
|
:task => tasks.join(' '),
|
|
24
34
|
:commit => real_revision,
|
|
25
|
-
:override => override
|
|
35
|
+
:override => override,
|
|
36
|
+
:canary => canary,
|
|
26
37
|
}
|
|
27
38
|
|
|
28
39
|
if current_commit
|
|
@@ -44,7 +55,7 @@ Capistrano::Configuration.instance.load do
|
|
|
44
55
|
|
|
45
56
|
desc "[internal] Prompt if deploying the currently running commit, or if tests haven't passed"
|
|
46
57
|
task :check_commit do
|
|
47
|
-
if environment.to_s == 'production' && !override
|
|
58
|
+
if environment.to_s == 'production' && !override && !canary
|
|
48
59
|
if current_commit == real_revision
|
|
49
60
|
banner = %q{
|
|
50
61
|
______ _ _ _ ___
|
|
@@ -111,8 +122,12 @@ Capistrano::Configuration.instance.load do
|
|
|
111
122
|
end
|
|
112
123
|
|
|
113
124
|
desc "restarts all rails services concurrently"
|
|
114
|
-
task :restart do
|
|
115
|
-
|
|
125
|
+
task :restart, max_hosts: 3 do
|
|
126
|
+
restart_cmd = "if [ -x /etc/init.d/rails_services ]; then /etc/init.d/rails_services upgrade; fi"
|
|
127
|
+
# Restart non-app servers all-at-once
|
|
128
|
+
run restart_cmd, roles: (roles.keys - [:app])
|
|
129
|
+
# Restart app servers in batchs of 3
|
|
130
|
+
run restart_cmd, max_hosts: 10, roles: :app
|
|
116
131
|
end
|
|
117
132
|
end
|
|
118
133
|
|
data/lib/capistrano/hivequeen.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: capistrano-hivequeen
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Suggs
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-09-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: capistrano
|
|
@@ -97,9 +97,10 @@ files:
|
|
|
97
97
|
- lib/capistrano/hivequeen/setup.rb
|
|
98
98
|
- lib/capistrano/hivequeen/version.rb
|
|
99
99
|
homepage: http://github.com/kickstarter/capistrano-hivequeen
|
|
100
|
-
licenses:
|
|
100
|
+
licenses:
|
|
101
|
+
- MIT
|
|
101
102
|
metadata: {}
|
|
102
|
-
post_install_message:
|
|
103
|
+
post_install_message:
|
|
103
104
|
rdoc_options:
|
|
104
105
|
- "--charset=UTF-8"
|
|
105
106
|
require_paths:
|
|
@@ -115,9 +116,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
115
116
|
- !ruby/object:Gem::Version
|
|
116
117
|
version: '0'
|
|
117
118
|
requirements: []
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
signing_key:
|
|
119
|
+
rubygems_version: 3.0.3
|
|
120
|
+
signing_key:
|
|
121
121
|
specification_version: 2
|
|
122
122
|
summary: Capistrano extensions for interacting with HiveQueen
|
|
123
123
|
test_files: []
|