capistrano-scm-bamboo 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,7 @@ deploy your build artifact with Capistrano.
23
23
 
24
24
  # specify any dependencies here; for example:
25
25
  s.add_runtime_dependency "capistrano"
26
- s.add_runtime_dependency "httparty"
26
+ s.add_runtime_dependency "json"
27
+ s.add_runtime_dependency "typhoeus"
27
28
  s.add_development_dependency "rspec"
28
29
  end
@@ -1,4 +1,5 @@
1
- require 'HTTParty'
1
+ require 'typhoeus'
2
+ require 'json'
2
3
 
3
4
  require 'capistrano/recipes/deploy/scm/base'
4
5
 
@@ -7,42 +8,32 @@ module Capistrano
7
8
  module SCM
8
9
 
9
10
  class Bamboo < Base
10
- include HTTParty
11
- base_uri repository
12
- basic_auth scm_username, scm_passphrase
13
-
14
11
  def head
15
- last_deploy_build
12
+ "#{variable(:plan_key)}-#{variable(:build_number)}"
16
13
  end
17
14
 
18
15
  def query_revision(revision)
19
- return revision if revision =~ /^\d+$/
20
- raise "invalid revision: #{revision}"
16
+ revision
17
+ # return revision if revision =~ /^\d+$/
18
+ # raise "invalid revision: #{revision}"
21
19
  end
22
20
 
23
21
  def checkout(revision, destination)
24
- result = Bamboo.get('/rest/api/latest/result/CLOUD-ROUTER/18?expand=artifacts')
25
- artifacts = result["result"]["artifacts"]["artifact"]
26
- artifact = artifacts.select { |artifact| artifact["name"] == "router-target" }
27
-
22
+ response = Typhoeus::Request.get("#{repository}/result/#{variable(:plan_key)}/#{variable(:build_number)}.json?expand=artifacts", :username => variable(:scm_username), :password => variable(:scm_passphrase))
23
+ result = JSON.parse(response.body)
24
+ artifact = result["artifacts"]["artifact"].select { |artifact| artifact["name"] == variable(:artifact) }
28
25
  artifactUrl = artifact[0]["link"]["href"]
29
26
 
30
- %Q{TMPDIR=`mktemp -d` &&
31
- cd "$TMPDIR" &&
32
- wget -m -nH #{artifact_url}' &&
33
- unzip archive.zip &&
34
- mv archive "#{destination}" &&
35
- rm -rf "$TMPDIR"
36
- }
27
+ %Q{TMPDIR=`mktemp -d` && cd $TMPDIR && wget -m -nH -q #{artifactUrl} && mv artifact "#{destination}" && rm -rf "$TMPDIR"}
37
28
  end
38
29
 
39
30
  alias_method :export, :checkout
40
31
 
41
- def log(from, to=nil)
42
- log_build_message(from, to)
43
- log_scm_message(from, to)
44
- 'true'
45
- end
32
+ # def log(from, to=nil)
33
+ # log_build_message(from, to)
34
+ # log_scm_message(from, to)
35
+ # 'true'
36
+ # end
46
37
 
47
38
  def diff(from, to=nil)
48
39
  logger.info 'bamboo does not support diff'
@@ -116,26 +107,6 @@ module Capistrano
116
107
  # raise 'can not find a build suitable for deploy'
117
108
  # end
118
109
 
119
- # def get_build_number_from_rss_all_title(title)
120
- # /#(\d+) \([^(]+$/.match(title)[1]
121
- # end
122
-
123
- # def get_build_number_from_rss_changelog_title(title)
124
- # /^#(\d+) /.match(title)[1]
125
- # end
126
-
127
- # def rss_all
128
- # begin
129
- # @rss_all ||= open(repository + '/rssAll', auth_opts).read()
130
- # rescue => e
131
- # raise Capistrano::Error, "open url #{repository + '/rssAll'} failed: #{e}"
132
- # end
133
- # end
134
-
135
- # def rss_changelog
136
- # @rss_changelog ||= open(repository + '/rssChangelog', auth_opts).read()
137
- # end
138
-
139
110
  # def auth_opts
140
111
  # if jenkins_username and jenkins_password
141
112
  # {:http_basic_authentication => [jenkins_username, jenkins_password]}
@@ -175,11 +146,6 @@ module Capistrano
175
146
  # end
176
147
  # end
177
148
  # end
178
-
179
- # def jenkins_hostname
180
- # @jenkins_hostname ||= URI.parse(repository).host
181
- # end
182
-
183
149
  end
184
150
  end
185
151
  end
@@ -1,7 +1,7 @@
1
1
  module Capistrano
2
2
  module Scm
3
3
  module Bamboo
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.3"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-scm-bamboo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-10 00:00:00.000000000 Z
12
+ date: 2012-04-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
- requirement: &70308702739540 !ruby/object:Gem::Requirement
16
+ requirement: &70204008772920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70308702739540
24
+ version_requirements: *70204008772920
25
25
  - !ruby/object:Gem::Dependency
26
- name: httparty
27
- requirement: &70308702737040 !ruby/object:Gem::Requirement
26
+ name: json
27
+ requirement: &70204008771920 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,21 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70308702737040
35
+ version_requirements: *70204008771920
36
+ - !ruby/object:Gem::Dependency
37
+ name: typhoeus
38
+ requirement: &70204008771140 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70204008771140
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: rspec
38
- requirement: &70308702736000 !ruby/object:Gem::Requirement
49
+ requirement: &70204008770700 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ! '>='
@@ -43,7 +54,7 @@ dependencies:
43
54
  version: '0'
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *70308702736000
57
+ version_requirements: *70204008770700
47
58
  description: ! "\nWith this plugin, you can use Bamboo build artifacts as a repository,
48
59
  and\ndeploy your build artifact with Capistrano.\n "
49
60
  email: