conan 0.4.4 → 0.4.6

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.
@@ -49,7 +49,7 @@ module AWS
49
49
 
50
50
  def build_env
51
51
 
52
- #we need to check the existance of ~/.fog
52
+ raise "Settings file at ~/.fog not found" unless File.exists?("#{ENV['HOME']}/.fog")
53
53
 
54
54
  #first key_pairs
55
55
  key_pairs = aws_config["key_pairs"]
@@ -29,6 +29,15 @@ module Conan
29
29
  system %{git push -f origin tag #{dest}}
30
30
  end
31
31
 
32
+
33
+ def git_log(from, to)
34
+ run_locally("git log #{real_revision(from)}..#{real_revision(to)}")
35
+ end
36
+
37
+ def real_revision(tag)
38
+ source.local.query_revision(tag) { |cmd| with_env("LC_ALL", "C") { run_locally(cmd) } }
39
+ end
40
+
32
41
  def add_role(*roles)
33
42
  roles = Hash.new{ |h,k| h[k] = [] }
34
43
  server_config.each do |s, c|
@@ -1,11 +1,31 @@
1
1
  namespace :git do
2
2
  before "deploy:update_code", "git:tag_attempted_deploy" unless deploy_via == :copy
3
3
  task :tag_attempted_deploy do
4
- git_tag branch, "#{stage}.last-deploy"
4
+ git_tag branch, "#{stage}.#{application}.last-deploy"
5
+ end
6
+
7
+ before "git:tag_attempted_deploy", "git:deploy_commits" unless deploy_via == :copy
8
+ task :deploy_commits do
9
+ logs = git_log("#{stage}.#{application}.last-successful-deploy", branch)
10
+ puts "the following new commits for #{application} on #{stage} revision #{real_revision(branch)} will be deployed"
11
+ puts logs
12
+ end
13
+
14
+ before "git:tag_successful_deploy", "git:deployed_commits" unless deploy_via == :copy
15
+ task :deployed_commits do
16
+ logs = git_log("#{stage}.#{application}.last-successful-deploy", branch)
17
+ puts "the following new commits for #{application} on #{stage} revision #{real_revision(branch)} were deployed"
18
+ puts logs
5
19
  end
6
20
 
7
21
  task :tag_successful_deploy do
8
- git_tag branch, "#{stage}.last-successful-deploy"
22
+ git_tag branch, "#{stage}.#{application}.last-successful-deploy"
9
23
  end
10
24
  after "deploy:smoke_test", "git:tag_successful_deploy" unless deploy_via == :copy
25
+
26
+ #this task exists only to migrate tags in applications
27
+ task :migrate_tags do
28
+ git_tag real_revision("#{stage}.last-deploy"), "#{stage}.#{application}.last-deploy"
29
+ git_tag real_revision("#{stage}.last-successful-deploy"), "#{stage}.#{application}.last-successful-deploy"
30
+ end
11
31
  end
@@ -5,7 +5,7 @@
5
5
  "server_to_image": "app1",
6
6
  "image_id": "ORTHIS",
7
7
  "flavor_id": "c1.xlarge",
8
- "instance_monitoring": true
8
+ "instance_monitoring": true,
9
9
  "key_name": "keyname",
10
10
  "autoscale_groups": [""],
11
11
  "security_groups": ["default"]
@@ -137,7 +137,8 @@
137
137
  "dimensions": {
138
138
  "ec2": ["app-1"]
139
139
  }
140
- }
141
- }
140
+ }
141
+ }
142
+ }
142
143
  }
143
144
  }
data/lib/conan/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Conan
2
- VERSION = "0.4.4"
2
+ VERSION = "0.4.6"
3
3
  end
metadata CHANGED
@@ -1,73 +1,74 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: conan
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 4
8
- - 4
9
- version: 0.4.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.6
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Paul Battley
13
9
  - Stuart Eccles
14
10
  autorequire:
15
11
  bindir: bin
16
12
  cert_chain: []
17
-
18
- date: 2012-03-27 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2012-06-08 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: json
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- requirements:
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
26
20
  - - ~>
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 6
31
- - 1
21
+ - !ruby/object:Gem::Version
32
22
  version: 1.6.1
33
23
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: capistrano
37
24
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- requirements:
40
- - - "="
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 2
44
- - 11
45
- - 2
46
- version: 2.11.2
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 1.6.1
31
+ - !ruby/object:Gem::Dependency
32
+ name: capistrano
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 2.12.0
47
39
  type: :runtime
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: fog
51
40
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- segments:
57
- - 0
58
- version: "0"
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 2.12.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: fog
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
59
55
  type: :runtime
60
- version_requirements: *id003
61
- description: Set up a project to enable the provision of infrastructure through AWS and the configuration of servers using Chef via Capistrano.
62
- email:
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ description: Set up a project to enable the provision of infrastructure through AWS
64
+ and the configuration of servers using Chef via Capistrano.
65
+ email:
63
66
  - stuart@madebymany.co.uk
64
- executables:
67
+ executables:
65
68
  - conan
66
69
  extensions: []
67
-
68
70
  extra_rdoc_files: []
69
-
70
- files:
71
+ files:
71
72
  - bin/conan
72
73
  - lib/conan/capistrano.rb
73
74
  - lib/conan/cloud/aws/autoscale.rb
@@ -106,35 +107,28 @@ files:
106
107
  - lib/conan/template/deploy/chef/solo.rb
107
108
  - lib/conan/version.rb
108
109
  - README.md
109
- has_rdoc: true
110
110
  homepage: http://github.com/madebymany/conan
111
111
  licenses: []
112
-
113
112
  post_install_message:
114
113
  rdoc_options: []
115
-
116
- require_paths:
114
+ require_paths:
117
115
  - lib
118
- required_ruby_version: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- segments:
123
- - 0
124
- version: "0"
125
- required_rubygems_version: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- segments:
130
- - 0
131
- version: "0"
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
132
128
  requirements: []
133
-
134
129
  rubyforge_project:
135
- rubygems_version: 1.3.6
130
+ rubygems_version: 1.8.21
136
131
  signing_key:
137
132
  specification_version: 3
138
133
  summary: Conan The Deployer
139
134
  test_files: []
140
-