ops_tasks 0.0.9 → 0.1.0

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: 4909b1b0c984e697e758e9b17c713f6b73ae9d20
4
- data.tar.gz: c6468eba92e4ffc81fd4fe10a5a69dba0d423f9d
3
+ metadata.gz: e00dea07ed5aad5432d3f1188c9ec3e1804e2e06
4
+ data.tar.gz: 99039a0c58892bc181e82cf27409c714bf151cb0
5
5
  SHA512:
6
- metadata.gz: 72500581d0d8e3b2044d4f222501403e9e2300d51657c9ae38c81aa4e5194e26497b525bffb3d77d3d80cde23166132161ae99e5c0175a3740f59b221011eda2
7
- data.tar.gz: d6b9daa52ccb98152681161ac829dca8f8cf3bb94073fb940e4cb3070af4841108acfb316255c8d2e615e467e123f09355084c50666515fa0ac86810f08af61b
6
+ metadata.gz: 60d83c5ab367b3886070f627539da689adb327c1dd003c3aa2ad23dbd9522645799e80b0849af8e0647fbd5ff533ab0c08e59f86e77ed86a895cff58ae349ace
7
+ data.tar.gz: 9e6320641b341d36e6df169c27cb3fd2219dc63c3c11b2ef2972d2f68a4a83373d1843102a5a61d4c4d29ea46c09c776cb18e93614d4179f9728500f6329af86
@@ -1,3 +1,3 @@
1
1
  module OpsTasks
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/ops_tasks.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'aws'
1
+ require 'aws-sdk'
2
2
  require 'say2slack'
3
3
 
4
4
  module OpsTasks
@@ -7,7 +7,7 @@ module OpsTasks
7
7
  def initialize(args)
8
8
  if args.size > 0
9
9
  @client = AWS::OpsWorks::Client.new
10
- @instance_ids = [args[:id]]
10
+ @instance_ids = args[:layer_id].instances.map{|i| i.instance_id}
11
11
  @recipe = args[:recipe]
12
12
  @stack_id = args[:stack_id]
13
13
  @slack_channel = args[:room]
@@ -6,7 +6,7 @@
6
6
  desc "Deploy to staging"
7
7
  namespace :staging do
8
8
  @staging_deployment = OpsTasks::Deployment.new(
9
- id: ENV['staging_instance_id'],
9
+ layer_id: ENV['staging_layer_id'],
10
10
  stack_id: ENV['staging_stack_id'],
11
11
  recipe: ENV['staging_deploy_recipe'],
12
12
  project: ENV['staging_project_name'],
@@ -26,7 +26,7 @@ end
26
26
 
27
27
  namespace :production do
28
28
  @production_deployment = OpsTasks::Deployment.new(
29
- id: ENV['production_instance_id'],
29
+ layer_id: ENV['production_layer_id'],
30
30
  stack_id: ENV['production_stack_id'],
31
31
  recipe: ENV['production_deploy_recipe'],
32
32
  project: ENV['production_project_name'],
@@ -43,3 +43,17 @@ namespace :production do
43
43
  @production_deployment.wait_for_completion(deploy_id, "update cookbooks")
44
44
  end
45
45
  end
46
+
47
+ task :deploy, [:server_type] => :environment do |t, args|
48
+ puts args[:server_type]
49
+ server_type = args[:server_type].downcase
50
+ @deployment = OpsTasks::Deployment.new(
51
+ layer_id: ENV["#{server_type}_layer_id"],
52
+ stack_id: ENV["#{server_type}_stack_id"],
53
+ recipe: ENV["#{server_type}_deploy_recipe"],
54
+ project: ENV["#{server_type}_project_name"],
55
+ room: ENV["#{server_type}_slack_channel"]
56
+ )
57
+ deploy_id = @deployment.deploy
58
+ @deployment.wait_for_completion(deploy_id)
59
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Prokesch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2015-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.0'
40
+ version: '1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: say2slack
43
43
  requirement: !ruby/object:Gem::Requirement