jenkins_launcher 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
v0.1.1 [14-JAN-2013]
|
5
|
+
---------------------
|
6
|
+
* Added option to specify which node the Job should run.
|
7
|
+
* Minor usability tweaks to print success messages if operation completed successfully.
|
8
|
+
|
4
9
|
v0.1.0 [13-JAN-2013]
|
5
10
|
---------------------
|
6
11
|
* Added options for source control management: Git and Subversion.
|
data/config/sample-svn.yml
CHANGED
data/config/sample.yml
CHANGED
@@ -88,5 +88,13 @@ module JenkinsLauncher
|
|
88
88
|
@client.toggle_debug if debug_changed
|
89
89
|
end
|
90
90
|
|
91
|
+
def use_node(job_name, node_name)
|
92
|
+
if @client.node.list.include?(node_name)
|
93
|
+
@client.job.restrict_to_node(job_name, node_name)
|
94
|
+
else
|
95
|
+
puts "Node '#{node_name}' is not found on Jenkins server. Skipping...".yellow
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
91
99
|
end
|
92
100
|
end
|
data/lib/jenkins_launcher/cli.rb
CHANGED
@@ -68,6 +68,8 @@ module JenkinsLauncher
|
|
68
68
|
params = @config.load_config(config_file)
|
69
69
|
unless @api.job_exists?(params[:name])
|
70
70
|
@api.create_job(params)
|
71
|
+
@api.use_node(params[:name], params[:node]) if params[:node]
|
72
|
+
puts "The Job '#{params[:name]}' is created successfully.".green
|
71
73
|
else
|
72
74
|
puts "The job is already created. Please use 'start' command to build the job.".yellow
|
73
75
|
end
|
@@ -79,7 +81,10 @@ module JenkinsLauncher
|
|
79
81
|
method_option :delete_after, :type => :boolean, :aliases => "-d", :desc => "Delete the job from Jenkins after the build is finished"
|
80
82
|
def start(config_file)
|
81
83
|
params = @config.load_config(config_file)
|
82
|
-
|
84
|
+
unless @api.job_exists?(params[:name])
|
85
|
+
@api.create_job(params)
|
86
|
+
@api.use_node(params[:name], params[:node]) if params[:node]
|
87
|
+
end
|
83
88
|
unless @api.job_building?(params[:name])
|
84
89
|
@api.build_job(params[:name])
|
85
90
|
quiet_period = options[:quiet_period] ? options[:quiet_period] : 5
|
@@ -149,6 +154,7 @@ module JenkinsLauncher
|
|
149
154
|
else
|
150
155
|
@api.stop_job(params[:name]) if options[:force] && @api.job_building?(params[:name])
|
151
156
|
@api.delete_job(params[:name])
|
157
|
+
puts "The job '#{params[:name]}' is destroyed successfully.".green
|
152
158
|
end
|
153
159
|
end
|
154
160
|
|
@@ -39,6 +39,9 @@ module JenkinsLauncher
|
|
39
39
|
raise "'name' is required and not set in the yml file." unless loaded_params['name']
|
40
40
|
valid_params[:name] = loaded_params['name']
|
41
41
|
|
42
|
+
# Node to restrict the job to
|
43
|
+
valid_params[:node] = loaded_params['node'] if loaded_params['node']
|
44
|
+
|
42
45
|
# Source control
|
43
46
|
# Git, Subversion
|
44
47
|
if loaded_params['git']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jenkins_launcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jenkins_api_client
|