capistrano-scm-jenkins 0.0.6 → 0.0.7
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 +7 -0
- data/.travis.yml +3 -0
- data/Gemfile.lock +17 -17
- data/NEWS.md +5 -1
- data/README.md +41 -34
- data/capistrano-scm-jenkins.gemspec +2 -2
- data/lib/capistrano-scm-jenkins/version.rb +1 -1
- data/lib/capistrano/recipes/deploy/scm/jenkins.rb +23 -5
- data/spec/capistrano/recipes/deploy/scm/jenkins_spec.rb +22 -0
- metadata +67 -103
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA512:
|
3
|
+
metadata.gz: db7a5920ba131c19e129ae44d4e1937e4f9704b5b2a231b2543df68e7b44f605920d701f9a208c5d63d1d6c31376f51e4a1851fb9824212904948696589586f3
|
4
|
+
data.tar.gz: f613bc243dc1eced0ecef8ebb0d8b77c1137c80b8ad6e1039523b83c899580fe750bcdf19a0d2e1710a94411d5b2163e4f0b6165572684937bc4af1a88c9ff32
|
5
|
+
SHA1:
|
6
|
+
metadata.gz: c4033db8b2078f140f2bb9b3b38e6cf13042fbd5
|
7
|
+
data.tar.gz: 9e63243ea9d780c282faeee4ca00340d1cabf1ae
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
capistrano-scm-jenkins (0.0.
|
5
|
-
capistrano
|
4
|
+
capistrano-scm-jenkins (0.0.7)
|
5
|
+
capistrano (~> 2.0)
|
6
6
|
net-netrc
|
7
|
-
rubyzip
|
7
|
+
rubyzip (~> 0.0)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
12
|
Platform (0.4.0)
|
13
|
-
capistrano (2.
|
13
|
+
capistrano (2.15.5)
|
14
14
|
highline
|
15
15
|
net-scp (>= 1.0.0)
|
16
16
|
net-sftp (>= 2.0.0)
|
17
17
|
net-ssh (>= 2.0.14)
|
18
18
|
net-ssh-gateway (>= 1.1.0)
|
19
|
-
diff-lcs (1.2.
|
20
|
-
highline (1.6.
|
19
|
+
diff-lcs (1.2.4)
|
20
|
+
highline (1.6.20)
|
21
21
|
net-netrc (0.2.2)
|
22
22
|
Platform (>= 0.3.0)
|
23
|
-
net-scp (1.1.
|
23
|
+
net-scp (1.1.2)
|
24
24
|
net-ssh (>= 2.6.5)
|
25
|
-
net-sftp (2.1.
|
25
|
+
net-sftp (2.1.2)
|
26
26
|
net-ssh (>= 2.6.5)
|
27
|
-
net-ssh (2.
|
27
|
+
net-ssh (2.7.0)
|
28
28
|
net-ssh-gateway (1.2.0)
|
29
29
|
net-ssh (>= 2.6.5)
|
30
|
-
rake (10.0
|
31
|
-
rspec (2.
|
32
|
-
rspec-core (~> 2.
|
33
|
-
rspec-expectations (~> 2.
|
34
|
-
rspec-mocks (~> 2.
|
35
|
-
rspec-core (2.
|
36
|
-
rspec-expectations (2.
|
30
|
+
rake (10.1.0)
|
31
|
+
rspec (2.14.1)
|
32
|
+
rspec-core (~> 2.14.0)
|
33
|
+
rspec-expectations (~> 2.14.0)
|
34
|
+
rspec-mocks (~> 2.14.0)
|
35
|
+
rspec-core (2.14.6)
|
36
|
+
rspec-expectations (2.14.3)
|
37
37
|
diff-lcs (>= 1.1.3, < 2.0)
|
38
|
-
rspec-mocks (2.
|
38
|
+
rspec-mocks (2.14.4)
|
39
39
|
rubyzip (0.9.9)
|
40
40
|
|
41
41
|
PLATFORMS
|
data/NEWS.md
CHANGED
data/README.md
CHANGED
@@ -13,39 +13,44 @@ deploy your build artifact with capistrano.
|
|
13
13
|
|
14
14
|
a sample config/deploy.rb
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
16
|
+
```ruby
|
17
|
+
require 'capistrano-scm-jenkins'
|
18
|
+
|
19
|
+
set :application, "example"
|
20
|
+
set :repository, "http://jenkins.example.com/job/example/"
|
21
|
+
|
22
|
+
set :scm, :jenkins
|
23
|
+
|
24
|
+
# uncomment following line if you want deploy unstable version
|
25
|
+
# set :jenkins_use_unstable, true
|
26
|
+
|
27
|
+
# jenkins username and password
|
28
|
+
# set :scm_username, ENV['JENKINS_USERNAME']
|
29
|
+
# set :scm_password, ENV['JENKINS_PASSWORD']
|
30
|
+
# or use the netrc support for curl
|
31
|
+
# set :jenkins_use_netrc, true
|
32
|
+
#
|
33
|
+
# if you use netrc, add the following line in your $HOME/.netrc
|
34
|
+
# machine jenkins.example.com login USERNAME password secret
|
35
|
+
#
|
36
|
+
# bypass ssl verification
|
37
|
+
# set :jenkins_insecure, true
|
38
|
+
#
|
39
|
+
# deploy from artifact subfolder. (ex: mv zipout/#{:jenkins_artifact_path} #{destination})
|
40
|
+
# set :jenkins_artifact_path, 'archive'
|
41
|
+
#
|
42
|
+
# deploy a single file.
|
43
|
+
# set :jenkins_artifact_file, 'webapp.war'
|
44
|
+
#
|
45
|
+
|
46
|
+
set :user, 'lidaobing'
|
47
|
+
set :use_sudo, false
|
48
|
+
set :deploy_to, "/home/#{user}/apps/#{application}"
|
49
|
+
|
50
|
+
role :web, "test.example.com" # Your HTTP server, Apache/etc
|
51
|
+
role :app, "test.example.com" # This may be the same as your `Web` server
|
52
|
+
role :db, "test.example.com", :primary => true # This is where Rails migrations will run
|
53
|
+
```
|
49
54
|
|
50
55
|
for more information about capistrano, check https://github.com/capistrano/capistrano
|
51
56
|
|
@@ -53,7 +58,9 @@ for more information about capistrano, check https://github.com/capistrano/capis
|
|
53
58
|
|
54
59
|
for the maven module, you should include the module name in your repository url. for example:
|
55
60
|
|
56
|
-
|
61
|
+
```ruby
|
62
|
+
set :repository, "http://jenkins.example.com/job/example/com.example.helloworld$helloworld/"
|
63
|
+
```
|
57
64
|
|
58
65
|
## LICENSE
|
59
66
|
|
@@ -22,9 +22,9 @@ deploy your build artifact with capistrano.
|
|
22
22
|
s.require_paths = ["lib"]
|
23
23
|
|
24
24
|
# specify any dependencies here; for example:
|
25
|
-
s.add_runtime_dependency "capistrano"
|
25
|
+
s.add_runtime_dependency "capistrano", "~> 2.0"
|
26
26
|
s.add_runtime_dependency "net-netrc"
|
27
|
-
s.add_runtime_dependency "rubyzip"
|
27
|
+
s.add_runtime_dependency "rubyzip", "~> 0.0"
|
28
28
|
s.add_development_dependency "rspec"
|
29
29
|
s.add_development_dependency "rake"
|
30
30
|
end
|
@@ -31,8 +31,11 @@ module Capistrano
|
|
31
31
|
|
32
32
|
execute << 'TMPDIR=`mktemp -d`'
|
33
33
|
execute << 'cd $TMPDIR'
|
34
|
-
execute << "curl #{curl_interface} #{insecure} #{authentication} -sO '#{
|
35
|
-
if variable(:
|
34
|
+
execute << "curl #{curl_interface} #{insecure} #{authentication} -sO '#{artifact_url(revision)}'"
|
35
|
+
if artifact = variable(:jenkins_artifact_file)
|
36
|
+
execute << "mkdir '#{destination}'"
|
37
|
+
execute << "mv #{File.basename(artifact)} '#{destination}'"
|
38
|
+
elsif variable(:jenkins_artifact_path)
|
36
39
|
execute << 'unzip archive.zip -d \'out/\''
|
37
40
|
execute << "mv out/#{variable(:jenkins_artifact_path)} #{destination}"
|
38
41
|
else
|
@@ -144,13 +147,24 @@ module Capistrano
|
|
144
147
|
end
|
145
148
|
|
146
149
|
def get_build_number_from_rss_all_title(title)
|
147
|
-
/#(\d+)
|
150
|
+
/#(\d+) /.match(strip_right_parentheses(title))[1]
|
148
151
|
end
|
149
152
|
|
150
153
|
def get_build_number_from_rss_changelog_title(title)
|
151
154
|
/^#(\d+) /.match(title)[1]
|
152
155
|
end
|
153
156
|
|
157
|
+
def strip_right_parentheses(title)
|
158
|
+
return title if title.slice(title.size-1, 1) != ')'
|
159
|
+
count = 1
|
160
|
+
(title.size-2).downto(0).each do |idx|
|
161
|
+
count += 1 if title.slice(idx, 1) == ')'
|
162
|
+
count -= 1 if title.slice(idx, 1) == '('
|
163
|
+
return title.slice(0, idx) if count == 0
|
164
|
+
end
|
165
|
+
return ""
|
166
|
+
end
|
167
|
+
|
154
168
|
def rss_all
|
155
169
|
begin
|
156
170
|
@rss_all ||= open(repository + '/rssAll', accept_language.merge(auth_opts).merge(ssl_opts)).read()
|
@@ -183,8 +197,12 @@ module Capistrano
|
|
183
197
|
end
|
184
198
|
end
|
185
199
|
|
186
|
-
def
|
187
|
-
|
200
|
+
def artifact_url(revision)
|
201
|
+
if artifact = variable(:jenkins_artifact_file)
|
202
|
+
"#{repository}/#{revision}/artifact/#{artifact}"
|
203
|
+
else
|
204
|
+
"#{repository}/#{revision}/artifact/*zip*/archive.zip"
|
205
|
+
end
|
188
206
|
end
|
189
207
|
|
190
208
|
def jenkins_username
|
@@ -28,5 +28,27 @@ module Capistrano::Deploy::SCM
|
|
28
28
|
@jenkins.send(:last_deploy_build, msg, :use_unstable => true).should == '1450'
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
context 'get_build_number_from_rss_all_title' do
|
33
|
+
{
|
34
|
+
"account #22 (1 more test is failing (total 19))" => 22,
|
35
|
+
"account #37 (stable)" => 37
|
36
|
+
}.each do |text, build_number|
|
37
|
+
it "should convert `#{text}` to `#{build_number}`" do
|
38
|
+
@jenkins.send(:get_build_number_from_rss_all_title, text).should == "#{build_number}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'strip_right_parentheses' do
|
44
|
+
{
|
45
|
+
"account #22 (1 more test is failing (total 19))" => "account #22 ",
|
46
|
+
"account #37 (stable)" => "account #37 "
|
47
|
+
}.each do |from, to|
|
48
|
+
it "should convert `#{from}` to `#{to}" do
|
49
|
+
@jenkins.send(:strip_right_parentheses, from).should == to
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
31
53
|
end
|
32
54
|
end
|
metadata
CHANGED
@@ -1,104 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-scm-jenkins
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.7
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
6
|
+
authors:
|
8
7
|
- LI Daobing
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
11
|
+
|
12
|
+
date: 2013-10-28 00:00:00 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
type: :runtime
|
16
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: "2.0"
|
21
|
+
name: capistrano
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: net-netrc
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
23
|
+
requirement: *id001
|
24
|
+
- !ruby/object:Gem::Dependency
|
38
25
|
type: :runtime
|
26
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- &id004
|
29
|
+
- ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: "0"
|
32
|
+
name: net-netrc
|
39
33
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rubyzip
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
34
|
+
requirement: *id002
|
35
|
+
- !ruby/object:Gem::Dependency
|
54
36
|
type: :runtime
|
37
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: "0.0"
|
42
|
+
name: rubyzip
|
55
43
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rspec
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
44
|
+
requirement: *id003
|
45
|
+
- !ruby/object:Gem::Dependency
|
70
46
|
type: :development
|
47
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- *id004
|
50
|
+
name: rspec
|
71
51
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rake
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
52
|
+
requirement: *id005
|
53
|
+
- !ruby/object:Gem::Dependency
|
86
54
|
type: :development
|
55
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- *id004
|
58
|
+
name: rake
|
87
59
|
prerelease: false
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
version: '0'
|
94
|
-
description: ! "\nWith this plugin, you can use jenkins build artifact as a repository,
|
95
|
-
and\ndeploy your build artifact with capistrano.\n "
|
96
|
-
email:
|
60
|
+
requirement: *id006
|
61
|
+
description: "\n\
|
62
|
+
With this plugin, you can use jenkins build artifact as a repository, and\n\
|
63
|
+
deploy your build artifact with capistrano.\n "
|
64
|
+
email:
|
97
65
|
- lidaobing@gmail.com
|
98
66
|
executables: []
|
67
|
+
|
99
68
|
extensions: []
|
69
|
+
|
100
70
|
extra_rdoc_files: []
|
101
|
-
|
71
|
+
|
72
|
+
files:
|
102
73
|
- .gitignore
|
103
74
|
- .rspec
|
104
75
|
- .travis.yml
|
@@ -115,34 +86,27 @@ files:
|
|
115
86
|
- spec/spec_helper.rb
|
116
87
|
homepage: https://github.com/lidaobing/capistrano-scm-jenkins
|
117
88
|
licenses: []
|
89
|
+
|
90
|
+
metadata: {}
|
91
|
+
|
118
92
|
post_install_message:
|
119
93
|
rdoc_options: []
|
120
|
-
|
94
|
+
|
95
|
+
require_paths:
|
121
96
|
- lib
|
122
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
hash: 1219470571275363423
|
131
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
|
-
requirements:
|
134
|
-
- - ! '>='
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: '0'
|
137
|
-
segments:
|
138
|
-
- 0
|
139
|
-
hash: 1219470571275363423
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- *id004
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- *id004
|
140
103
|
requirements: []
|
104
|
+
|
141
105
|
rubyforge_project: capistrano-scm-jenkins
|
142
|
-
rubygems_version:
|
106
|
+
rubygems_version: 2.0.13
|
143
107
|
signing_key:
|
144
|
-
specification_version:
|
108
|
+
specification_version: 4
|
145
109
|
summary: use jenkins as a capistrano scm
|
146
|
-
test_files:
|
110
|
+
test_files:
|
147
111
|
- spec/capistrano/recipes/deploy/scm/jenkins_spec.rb
|
148
112
|
- spec/spec_helper.rb
|