capistrano-asg 0.5.1 → 0.5.2

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
2
  SHA1:
3
- metadata.gz: b8fee06727da83250152a1719178d144e40bc7a0
4
- data.tar.gz: 5c5a4b5a946c92450049dc0ffbc8980f1bdd9781
3
+ metadata.gz: 640eab457e1530da23b85b9eb0f16b9fe53116c9
4
+ data.tar.gz: 34a6538f0c47571d89ba43a7853b5ca6e5d22b13
5
5
  SHA512:
6
- metadata.gz: 47a3d0b10852dacef4defe899d13c6109c2093fdad6d6b703014415ecec8e7ecbb981a634b559a66e833df1d5a55b0a6fa3a58d463da576bf51f881bc663f6d9
7
- data.tar.gz: d4e1487c935cd83ea6f5b24c66a12e9e40f268f98da5ec47174fe89769b7ffc1b5ed774db2ecaa962bbd6e92a4bdb7ad1847365bcc605e79ca39026b7b5d3413
6
+ metadata.gz: 22e1da471c952d26792769cbd305fc5adb3a9b971d44a173abeea702a72cef9b0cf434915bec7ebeb47c65d91e22c440e1cff47273a9e6552ffd3a32086e0170
7
+ data.tar.gz: 277b16a70df699773e1c423a22180d38c4050bdff2da7b201fc3d36abd1f97bf5d5fea7c3130bdbfb17955f9b3ffb04d4139aa66c0a76f321f9ebde44abdb68e
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # 0.5.2
2
+
3
+ * Run after deploy:finishing instead of after deploy
4
+ * Return newly created launch configuration in `fetch(:asg_launch_config)`
5
+
6
+ # 0.5.1
7
+
8
+ * Fix multi-region AMI and launch config generation
9
+
10
+ # 0.5.0
11
+
12
+ * Forked from capistrano-elbas
13
+ * renamed capistrano-asg and released as a new gem
14
+ * Updated with modern aws sdk
15
+ * Added support for multiple regions
data/README.md CHANGED
@@ -65,6 +65,22 @@ regions.each do |region|
65
65
  end
66
66
  ```
67
67
 
68
+ The name of the newly created launch configurations are available via `fetch(:asg_launch_config)`.
69
+ This is a two-dimensional hash with region and autoscaling group name as keys.
70
+ You can output these or store them as necessary in an `after 'deploy:finished'` hook.
71
+ An example value is:
72
+
73
+ ```
74
+ {
75
+ 'us-east-1' => {
76
+ 'asg-app' => 'cap-asg-production-app-server-private-asg-lc-1501619456'
77
+ },
78
+ 'eu-west-1' => {
79
+ 'asg-app' => 'cap-asg-production-app-server-private-asg-lc-1501619454'
80
+ }
81
+ }
82
+ ```
83
+
68
84
  That's it! Run `cap production deploy`. The following log statements are printed
69
85
  during deployment:
70
86
 
@@ -4,11 +4,14 @@ namespace :asg do
4
4
  task :scale do
5
5
  set :aws_access_key_id, fetch(:aws_access_key_id, ENV['AWS_ACCESS_KEY_ID'])
6
6
  set :aws_secret_access_key, fetch(:aws_secret_access_key, ENV['AWS_SECRET_ACCESS_KEY'])
7
+ asg_launch_config = {}
7
8
 
8
9
  # Iterate over relevant regions
9
10
  regions = fetch(:regions)
10
11
  regions.keys.each do |region|
11
12
  set :aws_region, region
13
+ asg_launch_config[region] = {}
14
+
12
15
  # Iterate over relevant ASGs
13
16
  regions[region].each do |asg|
14
17
  set :aws_autoscale_group, asg
@@ -16,10 +19,13 @@ namespace :asg do
16
19
  puts "Autoscaling: Created AMI: #{ami.aws_counterpart.id} from region #{region} in ASG #{asg}"
17
20
  Capistrano::Asg::LaunchConfiguration.create(ami) do |lc|
18
21
  puts "Autoscaling: Created Launch Configuration: #{lc.aws_counterpart.name} from region #{region} in ASG #{asg}"
22
+ asg_launch_config[region][asg] = lc.aws_counterpart.name
19
23
  lc.attach_to_autoscale_group!
20
24
  end
21
25
  end
22
26
  end
23
27
  end
28
+
29
+ set :asg_launch_config, asg_launch_config
24
30
  end
25
31
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Capistrano
2
4
  module Asg
3
- VERSION = '0.5.1'.freeze
5
+ VERSION = '0.5.2'
4
6
  end
5
7
  end
@@ -49,7 +49,7 @@ def autoscale(groupname, *args)
49
49
  end
50
50
 
51
51
  if asg_instances.count > 0
52
- after('deploy', 'asg:scale')
52
+ after('deploy:finishing', 'asg:scale')
53
53
  else
54
54
  puts 'Autoscaling: AMI could not be created because no running instances were found.\
55
55
  Is your autoscale group name correct?'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-asg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Logan Serman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-08-01 00:00:00.000000000 Z
13
+ date: 2017-08-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -124,6 +124,7 @@ files:
124
124
  - ".gitignore"
125
125
  - ".rspec"
126
126
  - ".travis.yml"
127
+ - CHANGELOG.md
127
128
  - Gemfile
128
129
  - LICENSE.txt
129
130
  - README.md