conan 0.4.4 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-