capistrano-scm-jenkins 0.0.2 → 0.0.3
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.
- data/Gemfile.lock +5 -1
- data/NEWS.md +4 -0
- data/README.md +9 -3
- data/capistrano-scm-jenkins.gemspec +1 -0
- data/lib/capistrano-scm-jenkins/version.rb +1 -1
- data/lib/capistrano/recipes/deploy/scm/jenkins.rb +38 -3
- metadata +15 -4
data/Gemfile.lock
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
capistrano-scm-jenkins (0.0.
|
4
|
+
capistrano-scm-jenkins (0.0.3)
|
5
5
|
capistrano
|
6
|
+
net-netrc
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: http://rubygems.org/
|
9
10
|
specs:
|
11
|
+
Platform (0.4.0)
|
10
12
|
capistrano (2.9.0)
|
11
13
|
highline
|
12
14
|
net-scp (>= 1.0.0)
|
@@ -15,6 +17,8 @@ GEM
|
|
15
17
|
net-ssh-gateway (>= 1.1.0)
|
16
18
|
diff-lcs (1.1.3)
|
17
19
|
highline (1.6.8)
|
20
|
+
net-netrc (0.2.2)
|
21
|
+
Platform (>= 0.3.0)
|
18
22
|
net-scp (1.0.4)
|
19
23
|
net-ssh (>= 1.99.1)
|
20
24
|
net-sftp (2.0.5)
|
data/NEWS.md
CHANGED
data/README.md
CHANGED
@@ -19,11 +19,17 @@ a sample config/deploy.rb
|
|
19
19
|
set :scm, :jenkins
|
20
20
|
|
21
21
|
# uncomment following line if you want deploy unstable version
|
22
|
-
#
|
22
|
+
# set :jenkins_use_unstable, true
|
23
23
|
|
24
24
|
# jenkins username and password
|
25
|
-
#
|
26
|
-
#
|
25
|
+
# set :scm_username, ENV['JENKINS_USERNAME']
|
26
|
+
# set :scm_password, ENV['JENKINS_PASSWORD']
|
27
|
+
# or use the netrc support for curl
|
28
|
+
# set :jenkins_use_netrc, true
|
29
|
+
#
|
30
|
+
# if you use netrc, add the following line in your $HOME/.netrc
|
31
|
+
# machine jenkins.example.com login USERNAME password secret
|
32
|
+
|
27
33
|
|
28
34
|
set :user, 'lidaobing'
|
29
35
|
set :use_sudo, false
|
@@ -3,6 +3,7 @@ require 'tmpdir'
|
|
3
3
|
require 'rexml/document'
|
4
4
|
|
5
5
|
require 'capistrano/recipes/deploy/scm/base'
|
6
|
+
require 'net/netrc'
|
6
7
|
|
7
8
|
module Capistrano
|
8
9
|
module Deploy
|
@@ -43,7 +44,9 @@ module Capistrano
|
|
43
44
|
private
|
44
45
|
|
45
46
|
def authentication
|
46
|
-
if variable(:
|
47
|
+
if variable(:jenkins_use_netrc)
|
48
|
+
"--netrc"
|
49
|
+
elsif variable(:scm_username) and variable(:scm_password)
|
47
50
|
"--user '#{variable(:scm_username)}:#{variable(:scm_password)}'"
|
48
51
|
else
|
49
52
|
""
|
@@ -126,8 +129,8 @@ module Capistrano
|
|
126
129
|
end
|
127
130
|
|
128
131
|
def auth_opts
|
129
|
-
if
|
130
|
-
{:http_basic_authentication => [
|
132
|
+
if jenkins_username and jenkins_password
|
133
|
+
{:http_basic_authentication => [jenkins_username, jenkins_password]}
|
131
134
|
else
|
132
135
|
{}
|
133
136
|
end
|
@@ -136,6 +139,38 @@ module Capistrano
|
|
136
139
|
def artifact_zip_url(revision)
|
137
140
|
"#{repository}/#{revision}/artifact/*zip*/archive.zip"
|
138
141
|
end
|
142
|
+
|
143
|
+
def jenkins_username
|
144
|
+
@jenkins_username ||= begin
|
145
|
+
if variable(:jenkins_use_netrc)
|
146
|
+
rc = Net::Netrc.locate(jenkins_hostname)
|
147
|
+
raise ".netrc missing or no entry found" if rc.nil?
|
148
|
+
rc.login
|
149
|
+
elsif variable(:scm_username)
|
150
|
+
variable(:scm_username)
|
151
|
+
else
|
152
|
+
nil
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
def jenkins_password
|
158
|
+
@jenkins_password ||= begin
|
159
|
+
if variable(:jenkins_use_netrc)
|
160
|
+
rc = Net::Netrc.locate(jenkins_hostname)
|
161
|
+
raise ".netrc missing or no entry found" if rc.nil?
|
162
|
+
rc.password
|
163
|
+
elsif variable(:scm_password)
|
164
|
+
variable(:scm_password)
|
165
|
+
else
|
166
|
+
nil
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def jenkins_hostname
|
172
|
+
@jenkins_hostname ||= URI.parse(repository).host
|
173
|
+
end
|
139
174
|
end
|
140
175
|
end
|
141
176
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: capistrano-scm-jenkins
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- LI Daobing
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-12-13 00:00:00 +08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: net-netrc
|
29
29
|
prerelease: false
|
30
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
@@ -33,8 +33,19 @@ dependencies:
|
|
33
33
|
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: "0"
|
36
|
-
type: :
|
36
|
+
type: :runtime
|
37
37
|
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rspec
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: "0"
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id003
|
38
49
|
description: "\n\
|
39
50
|
With this plugin, you can use jenkins build artifact as a repository, and\n\
|
40
51
|
deploy your build artifact with capistrano.\n "
|