rubyjobbuilderdsl 0.0.3 → 0.0.4
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 +13 -5
- data/Gemfile +6 -6
- data/Gemfile.lock +41 -41
- data/LICENSE +18 -18
- data/Rakefile +12 -12
- data/docs/common.md +313 -313
- data/docs/flow.md +17 -17
- data/docs/freestyle.md +100 -100
- data/docs/gerrit.md +70 -70
- data/docs/git.md +88 -88
- data/docs/multi.md +26 -26
- data/docs/overview.md +74 -74
- data/docs/postbuild.md +266 -266
- data/docs/view.md +13 -13
- data/lib/rubyjobbuilderdsl/buildstep/ant.rb +29 -29
- data/lib/rubyjobbuilderdsl/buildstep/copyartifact.rb +23 -23
- data/lib/rubyjobbuilderdsl/buildstep/inject_env.rb +18 -18
- data/lib/rubyjobbuilderdsl/buildstep/phase.rb +19 -19
- data/lib/rubyjobbuilderdsl/buildstep/phase_job.rb +26 -26
- data/lib/rubyjobbuilderdsl/buildstep/shell.rb +24 -24
- data/lib/rubyjobbuilderdsl/buildstep/xvfb.rb +46 -46
- data/lib/rubyjobbuilderdsl/common/artifactory.rb +33 -33
- data/lib/rubyjobbuilderdsl/common/blocking_job.rb +11 -11
- data/lib/rubyjobbuilderdsl/common/build_timeout.rb +23 -23
- data/lib/rubyjobbuilderdsl/common/gerrit.rb +53 -53
- data/lib/rubyjobbuilderdsl/common/git.rb +76 -76
- data/lib/rubyjobbuilderdsl/common/logrotate.rb +24 -24
- data/lib/rubyjobbuilderdsl/common/parameter.rb +22 -22
- data/lib/rubyjobbuilderdsl/common/password.rb +12 -12
- data/lib/rubyjobbuilderdsl/common/pollscm.rb +10 -10
- data/lib/rubyjobbuilderdsl/common/scms.rb +18 -18
- data/lib/rubyjobbuilderdsl/common/throttle.rb +24 -24
- data/lib/rubyjobbuilderdsl/common/timed.rb +10 -10
- data/lib/rubyjobbuilderdsl/common/timestamps.rb +6 -6
- data/lib/rubyjobbuilderdsl/common.rb +140 -140
- data/lib/rubyjobbuilderdsl/deployer.rb +95 -95
- data/lib/rubyjobbuilderdsl/flow.rb +14 -14
- data/lib/rubyjobbuilderdsl/freestyle.rb +65 -65
- data/lib/rubyjobbuilderdsl/jenkins_client.rb +203 -203
- data/lib/rubyjobbuilderdsl/multijob.rb +24 -24
- data/lib/rubyjobbuilderdsl/postbuild/archive.rb +23 -23
- data/lib/rubyjobbuilderdsl/postbuild/chucknorris_publisher.rb +6 -6
- data/lib/rubyjobbuilderdsl/postbuild/claim_publisher.rb +6 -6
- data/lib/rubyjobbuilderdsl/postbuild/cloverphp_publisher.rb +36 -36
- data/lib/rubyjobbuilderdsl/postbuild/cucumber_json_publisher.rb +20 -20
- data/lib/rubyjobbuilderdsl/postbuild/email_publisher.rb +23 -23
- data/lib/rubyjobbuilderdsl/postbuild/game_publisher.rb +6 -6
- data/lib/rubyjobbuilderdsl/postbuild/groovy.rb +10 -10
- data/lib/rubyjobbuilderdsl/postbuild/html_publisher.rb +27 -27
- data/lib/rubyjobbuilderdsl/postbuild/javadoc_publisher.rb +19 -19
- data/lib/rubyjobbuilderdsl/postbuild/logparser.rb +21 -21
- data/lib/rubyjobbuilderdsl/postbuild/nunit_publisher.rb +21 -21
- data/lib/rubyjobbuilderdsl/postbuild/pmd_publisher.rb +19 -19
- data/lib/rubyjobbuilderdsl/postbuild/script.rb +14 -14
- data/lib/rubyjobbuilderdsl/postbuild/slack.rb +77 -0
- data/lib/rubyjobbuilderdsl/postbuild/tap_publisher.rb +44 -44
- data/lib/rubyjobbuilderdsl/postbuild/trigger.rb +38 -38
- data/lib/rubyjobbuilderdsl/postbuild/xunit_publisher.rb +35 -35
- data/lib/rubyjobbuilderdsl/postbuild.rb +160 -153
- data/lib/rubyjobbuilderdsl/view.rb +14 -14
- data/lib/rubyjobbuilderdsl/xml_generator.rb +34 -1
- data/lib/rubyjobbuilderdsl.rb +2 -2
- data/rubyjobbuilderdsl.gemspec +13 -13
- data/rubyjobbuilderdsl.sublime-project +14 -14
- data/run_tests.sh +7 -7
- data/sample/hello_mars.rb +27 -27
- data/sample/hello_mars.xml +18 -0
- data/sample/hello_world-post.xml +40 -0
- data/sample/local.ini +4 -4
- data/sample/sample_flow.rb +15 -0
- data/sample/sample_slack_postbuild.rb +23 -0
- data/sample/test.xml +21 -0
- data/test/test_ant.rb +38 -38
- data/test/test_archive.rb +24 -24
- data/test/test_artifactory.rb +26 -26
- data/test/test_blocking_job.rb +18 -18
- data/test/test_chucknorris_publisher.rb +17 -17
- data/test/test_claim_publisher.rb +17 -17
- data/test/test_cloverphp.rb +33 -33
- data/test/test_concurrent.rb +44 -44
- data/test/test_copyartifact.rb +45 -45
- data/test/test_cucumber_json_publisher.rb +30 -30
- data/test/test_default_setting.rb +29 -29
- data/test/test_email_publisher.rb +44 -44
- data/test/test_flow.rb +19 -19
- data/test/test_freestyle.rb +52 -52
- data/test/test_game_publisher.rb +17 -17
- data/test/test_gerrit.rb +117 -117
- data/test/test_git.rb +80 -80
- data/test/test_html_publisher.rb +57 -57
- data/test/test_inject.rb +23 -23
- data/test/test_javadoc.rb +22 -22
- data/test/test_logparser.rb +24 -24
- data/test/test_logrotate.rb +22 -22
- data/test/test_multijob.rb +50 -50
- data/test/test_nunit_publisher.rb +20 -20
- data/test/test_parameter.rb +44 -44
- data/test/test_password.rb +17 -17
- data/test/test_pmd.rb +22 -22
- data/test/test_pollscm.rb +15 -15
- data/test/test_postbuild_groovy.rb +21 -21
- data/test/test_postbuild_script.rb +24 -24
- data/test/test_postbuild_trigger.rb +170 -170
- data/test/test_scms.rb +31 -31
- data/test/test_tap_publisher.rb +25 -25
- data/test/test_timed.rb +15 -15
- data/test/test_timeout.rb +20 -20
- data/test/test_timestamps.rb +14 -14
- data/test/test_xml_generator.rb +28 -28
- data/test/test_xunit_publisher.rb +22 -22
- data/test/test_xvfb.rb +35 -35
- metadata +15 -10
- data/sample/Schedule-sample-pipeline.xml +0 -28
data/test/test_scms.rb
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlScms < Test::Unit::TestCase
|
|
4
|
-
def test_git
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
scms do
|
|
9
|
-
git do
|
|
10
|
-
url 'ssh://bar@gerrit.mycompany.com:29418/a'
|
|
11
|
-
basedir 'a'
|
|
12
|
-
branches '*/master'
|
|
13
|
-
clean true
|
|
14
|
-
end
|
|
15
|
-
git do
|
|
16
|
-
url 'ssh://bar@gerrit.mycompany.com:29418/b'
|
|
17
|
-
basedir 'b'
|
|
18
|
-
branches '*/master'
|
|
19
|
-
clean true
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
actual = builder.config_as_xml_node('foo')
|
|
25
|
-
|
|
26
|
-
expected_class = 'org.jenkinsci.plugins.multiplescms.MultiSCM'
|
|
27
|
-
expected_scm = 'scm'
|
|
28
|
-
scm_nodes = "./project/scm[contains(@class,'#{expected_class}') and @plugin='multiple-scms@0.3']/scms/#{expected_scm}"
|
|
29
|
-
assert_equal 2, actual.xpath("count(#{scm_nodes})").to_i
|
|
30
|
-
end
|
|
31
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlScms < Test::Unit::TestCase
|
|
4
|
+
def test_git
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
scms do
|
|
9
|
+
git do
|
|
10
|
+
url 'ssh://bar@gerrit.mycompany.com:29418/a'
|
|
11
|
+
basedir 'a'
|
|
12
|
+
branches '*/master'
|
|
13
|
+
clean true
|
|
14
|
+
end
|
|
15
|
+
git do
|
|
16
|
+
url 'ssh://bar@gerrit.mycompany.com:29418/b'
|
|
17
|
+
basedir 'b'
|
|
18
|
+
branches '*/master'
|
|
19
|
+
clean true
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
actual = builder.config_as_xml_node('foo')
|
|
25
|
+
|
|
26
|
+
expected_class = 'org.jenkinsci.plugins.multiplescms.MultiSCM'
|
|
27
|
+
expected_scm = 'scm'
|
|
28
|
+
scm_nodes = "./project/scm[contains(@class,'#{expected_class}') and @plugin='multiple-scms@0.3']/scms/#{expected_scm}"
|
|
29
|
+
assert_equal 2, actual.xpath("count(#{scm_nodes})").to_i
|
|
30
|
+
end
|
|
31
|
+
end
|
data/test/test_tap_publisher.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlXTapPublisher < Test::Unit::TestCase
|
|
4
|
-
def test_postbuild_tap_publisher
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
postbuild do
|
|
9
|
-
publish_tap 'TestResultsInTapFormat.tap' do
|
|
10
|
-
verbose true
|
|
11
|
-
require_plan true
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
actual = builder.config_as_xml_node('foo')
|
|
17
|
-
|
|
18
|
-
{ 'testResults' => 'TestResultsInTapFormat.tap',
|
|
19
|
-
'verbose' => 'true',
|
|
20
|
-
'require_plan' => 'true'
|
|
21
|
-
}.each do |k, v|
|
|
22
|
-
assert v, actual.xpath("./project/publishers/org.tap4j.plugin.TapPublisher/#{k}").text
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlXTapPublisher < Test::Unit::TestCase
|
|
4
|
+
def test_postbuild_tap_publisher
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
postbuild do
|
|
9
|
+
publish_tap 'TestResultsInTapFormat.tap' do
|
|
10
|
+
verbose true
|
|
11
|
+
require_plan true
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
actual = builder.config_as_xml_node('foo')
|
|
17
|
+
|
|
18
|
+
{ 'testResults' => 'TestResultsInTapFormat.tap',
|
|
19
|
+
'verbose' => 'true',
|
|
20
|
+
'require_plan' => 'true'
|
|
21
|
+
}.each do |k, v|
|
|
22
|
+
assert v, actual.xpath("./project/publishers/org.tap4j.plugin.TapPublisher/#{k}").text
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
data/test/test_timed.rb
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlTimed < Test::Unit::TestCase
|
|
4
|
-
def test_timed
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
timed '*/5 * * * *'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
actual = builder.config_as_xml_node('foo')
|
|
12
|
-
|
|
13
|
-
assert_equal '*/5 * * * *', actual.xpath('./project/triggers/hudson.triggers.TimerTrigger/spec').text
|
|
14
|
-
end
|
|
15
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlTimed < Test::Unit::TestCase
|
|
4
|
+
def test_timed
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
timed '*/5 * * * *'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
actual = builder.config_as_xml_node('foo')
|
|
12
|
+
|
|
13
|
+
assert_equal '*/5 * * * *', actual.xpath('./project/triggers/hudson.triggers.TimerTrigger/spec').text
|
|
14
|
+
end
|
|
15
|
+
end
|
data/test/test_timeout.rb
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlTimeout < Test::Unit::TestCase
|
|
4
|
-
def test_timeout
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
timeout 'elastic' do
|
|
9
|
-
elastic_percentage 200
|
|
10
|
-
elastic_default_timeout 30
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
actual = builder.config_as_xml_node('foo')
|
|
15
|
-
{ 'timeoutMinutes' => '3', 'failBuild' => 'false', 'writingDescription' => 'false', 'timeoutPercentage' => '200',
|
|
16
|
-
'timeoutMinutesElasticDefault' => '30', 'timeoutType' => 'elastic' }.each do |k, v|
|
|
17
|
-
assert_equal v, actual.xpath("./project/buildWrappers/hudson.plugins.build__timeout.BuildTimeoutWrapper/#{k}").text, k
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlTimeout < Test::Unit::TestCase
|
|
4
|
+
def test_timeout
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
timeout 'elastic' do
|
|
9
|
+
elastic_percentage 200
|
|
10
|
+
elastic_default_timeout 30
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
actual = builder.config_as_xml_node('foo')
|
|
15
|
+
{ 'timeoutMinutes' => '3', 'failBuild' => 'false', 'writingDescription' => 'false', 'timeoutPercentage' => '200',
|
|
16
|
+
'timeoutMinutesElasticDefault' => '30', 'timeoutType' => 'elastic' }.each do |k, v|
|
|
17
|
+
assert_equal v, actual.xpath("./project/buildWrappers/hudson.plugins.build__timeout.BuildTimeoutWrapper/#{k}").text, k
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
data/test/test_timestamps.rb
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlTimestamps < Test::Unit::TestCase
|
|
4
|
-
def test_timestamps
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
timestamps
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
actual = builder.config_as_xml_node('foo')
|
|
12
|
-
assert actual.at('./project/buildWrappers/hudson.plugins.timestamper.TimestamperBuildWrapper')
|
|
13
|
-
end
|
|
14
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlTimestamps < Test::Unit::TestCase
|
|
4
|
+
def test_timestamps
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
timestamps
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
actual = builder.config_as_xml_node('foo')
|
|
12
|
+
assert actual.at('./project/buildWrappers/hudson.plugins.timestamper.TimestamperBuildWrapper')
|
|
13
|
+
end
|
|
14
|
+
end
|
data/test/test_xml_generator.rb
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'nokogiri'
|
|
3
|
-
require 'fileutils'
|
|
4
|
-
|
|
5
|
-
require_relative '../lib/rubyjobbuilderdsl'
|
|
6
|
-
|
|
7
|
-
module JenkinsJob
|
|
8
|
-
class Builder
|
|
9
|
-
def tmpdir
|
|
10
|
-
::File.join(File.dirname(__FILE__), '..', 'tmp')
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def debug
|
|
14
|
-
::File.exist?(tmpdir)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def config_as_xml_node(jobname)
|
|
18
|
-
generate_xml do |name, xml|
|
|
19
|
-
if name == jobname
|
|
20
|
-
File.open(::File.join(tmpdir, "#{name}.xml"), 'w+') do |f|
|
|
21
|
-
f.write(xml)
|
|
22
|
-
end if debug
|
|
23
|
-
return Nokogiri::XML.parse(xml)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
1
|
+
require 'test/unit'
|
|
2
|
+
require 'nokogiri'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
|
|
5
|
+
require_relative '../lib/rubyjobbuilderdsl'
|
|
6
|
+
|
|
7
|
+
module JenkinsJob
|
|
8
|
+
class Builder
|
|
9
|
+
def tmpdir
|
|
10
|
+
::File.join(File.dirname(__FILE__), '..', 'tmp')
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def debug
|
|
14
|
+
::File.exist?(tmpdir)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def config_as_xml_node(jobname)
|
|
18
|
+
generate_xml do |name, xml|
|
|
19
|
+
if name == jobname
|
|
20
|
+
File.open(::File.join(tmpdir, "#{name}.xml"), 'w+') do |f|
|
|
21
|
+
f.write(xml)
|
|
22
|
+
end if debug
|
|
23
|
+
return Nokogiri::XML.parse(xml)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXmlXUnitPublisher < Test::Unit::TestCase
|
|
4
|
-
def test_postbuild_xunit_publisher
|
|
5
|
-
builder = JenkinsJob::Builder.new
|
|
6
|
-
|
|
7
|
-
builder.freestyle 'foo' do
|
|
8
|
-
postbuild do
|
|
9
|
-
publish_xunit_report 'a\\b' do
|
|
10
|
-
failed_threshold :total_failed_tests => 0
|
|
11
|
-
unstable_threshold :total_skipped_tests => 0
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
actual = builder.config_as_xml_node('foo')
|
|
17
|
-
|
|
18
|
-
assert 'a\\b', actual.xpath('./project/publishers/xunit/types/NUnitJunitHudsonTestType/pattern').text
|
|
19
|
-
assert '0', actual.xpath('./project/publishers/xunit/thresholds/org.jenkinsci.plugins.xunit.threshold.FailedThreshold/failureThreshold').text
|
|
20
|
-
assert '0', actual.xpath('./project/publishers/xunit/thresholds/org.jenkinsci.plugins.xunit.threshold.SkippedThreshold/unstableThreshold').text
|
|
21
|
-
end
|
|
22
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXmlXUnitPublisher < Test::Unit::TestCase
|
|
4
|
+
def test_postbuild_xunit_publisher
|
|
5
|
+
builder = JenkinsJob::Builder.new
|
|
6
|
+
|
|
7
|
+
builder.freestyle 'foo' do
|
|
8
|
+
postbuild do
|
|
9
|
+
publish_xunit_report 'a\\b' do
|
|
10
|
+
failed_threshold :total_failed_tests => 0
|
|
11
|
+
unstable_threshold :total_skipped_tests => 0
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
actual = builder.config_as_xml_node('foo')
|
|
17
|
+
|
|
18
|
+
assert 'a\\b', actual.xpath('./project/publishers/xunit/types/NUnitJunitHudsonTestType/pattern').text
|
|
19
|
+
assert '0', actual.xpath('./project/publishers/xunit/thresholds/org.jenkinsci.plugins.xunit.threshold.FailedThreshold/failureThreshold').text
|
|
20
|
+
assert '0', actual.xpath('./project/publishers/xunit/thresholds/org.jenkinsci.plugins.xunit.threshold.SkippedThreshold/unstableThreshold').text
|
|
21
|
+
end
|
|
22
|
+
end
|
data/test/test_xvfb.rb
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
require_relative './test_xml_generator'
|
|
2
|
-
|
|
3
|
-
class TestXvfb < Test::Unit::TestCase
|
|
4
|
-
def test_enable_xvfb
|
|
5
|
-
install_name = 'Xvfb'
|
|
6
|
-
screen_resolution = '1024x768x24'
|
|
7
|
-
debug = 'false'
|
|
8
|
-
timeout = '0'
|
|
9
|
-
display_name_offset = '1'
|
|
10
|
-
shutdown_with_build = 'false'
|
|
11
|
-
auto_display_name = 'true'
|
|
12
|
-
parallel_build = 'false'
|
|
13
|
-
|
|
14
|
-
builder = JenkinsJob::Builder.new
|
|
15
|
-
|
|
16
|
-
builder.freestyle 'foo' do
|
|
17
|
-
xvfb do
|
|
18
|
-
install_name(install_name)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
actual = builder.config_as_xml_node('foo')
|
|
23
|
-
|
|
24
|
-
base_xpath = './project/buildWrappers/org.jenkinsci.plugins.xvfb.XvfbBuildWrapper/'
|
|
25
|
-
|
|
26
|
-
assert_equal install_name, actual.xpath("#{base_xpath}installationName").text, "installation name was not #{install_name}"
|
|
27
|
-
assert_equal debug, actual.xpath("#{base_xpath}debug").text, "debug property was not #{debug}"
|
|
28
|
-
assert_equal timeout, actual.xpath("#{base_xpath}timeout").text, "timeout property was not #{timeout}"
|
|
29
|
-
assert_equal display_name_offset, actual.xpath("#{base_xpath}displayNameOffset").text, "displayNameOffset was not #{display_name_offset}"
|
|
30
|
-
assert_equal shutdown_with_build, actual.xpath("#{base_xpath}shutdownWithBuild").text, "shutdown_with_build was not #{shutdown_with_build}"
|
|
31
|
-
assert_equal auto_display_name, actual.xpath("#{base_xpath}autoDisplayName").text, "autoDisplayName was not #{auto_display_name}"
|
|
32
|
-
assert_equal screen_resolution, actual.xpath("#{base_xpath}screen").text, "screen resolution was not #{screen_resolution}"
|
|
33
|
-
assert_equal parallel_build, actual.xpath("#{base_xpath}parallelBuild").text, "parallelBuild was not #{parallel_build}"
|
|
34
|
-
end
|
|
35
|
-
end
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestXvfb < Test::Unit::TestCase
|
|
4
|
+
def test_enable_xvfb
|
|
5
|
+
install_name = 'Xvfb'
|
|
6
|
+
screen_resolution = '1024x768x24'
|
|
7
|
+
debug = 'false'
|
|
8
|
+
timeout = '0'
|
|
9
|
+
display_name_offset = '1'
|
|
10
|
+
shutdown_with_build = 'false'
|
|
11
|
+
auto_display_name = 'true'
|
|
12
|
+
parallel_build = 'false'
|
|
13
|
+
|
|
14
|
+
builder = JenkinsJob::Builder.new
|
|
15
|
+
|
|
16
|
+
builder.freestyle 'foo' do
|
|
17
|
+
xvfb do
|
|
18
|
+
install_name(install_name)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
actual = builder.config_as_xml_node('foo')
|
|
23
|
+
|
|
24
|
+
base_xpath = './project/buildWrappers/org.jenkinsci.plugins.xvfb.XvfbBuildWrapper/'
|
|
25
|
+
|
|
26
|
+
assert_equal install_name, actual.xpath("#{base_xpath}installationName").text, "installation name was not #{install_name}"
|
|
27
|
+
assert_equal debug, actual.xpath("#{base_xpath}debug").text, "debug property was not #{debug}"
|
|
28
|
+
assert_equal timeout, actual.xpath("#{base_xpath}timeout").text, "timeout property was not #{timeout}"
|
|
29
|
+
assert_equal display_name_offset, actual.xpath("#{base_xpath}displayNameOffset").text, "displayNameOffset was not #{display_name_offset}"
|
|
30
|
+
assert_equal shutdown_with_build, actual.xpath("#{base_xpath}shutdownWithBuild").text, "shutdown_with_build was not #{shutdown_with_build}"
|
|
31
|
+
assert_equal auto_display_name, actual.xpath("#{base_xpath}autoDisplayName").text, "autoDisplayName was not #{auto_display_name}"
|
|
32
|
+
assert_equal screen_resolution, actual.xpath("#{base_xpath}screen").text, "screen resolution was not #{screen_resolution}"
|
|
33
|
+
assert_equal parallel_build, actual.xpath("#{base_xpath}parallelBuild").text, "parallelBuild was not #{parallel_build}"
|
|
34
|
+
end
|
|
35
|
+
end
|
metadata
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubyjobbuilderdsl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Huy Le
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-10-
|
|
11
|
+
date: 2017-10-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ! '>='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- -
|
|
24
|
+
- - ! '>='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: builder
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - ! '>='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - ! '>='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
description: Ruby Internal DSL for creating Jenkins jobs
|
|
@@ -104,6 +104,7 @@ files:
|
|
|
104
104
|
- lib/rubyjobbuilderdsl/postbuild/nunit_publisher.rb
|
|
105
105
|
- lib/rubyjobbuilderdsl/postbuild/pmd_publisher.rb
|
|
106
106
|
- lib/rubyjobbuilderdsl/postbuild/script.rb
|
|
107
|
+
- lib/rubyjobbuilderdsl/postbuild/slack.rb
|
|
107
108
|
- lib/rubyjobbuilderdsl/postbuild/tap_publisher.rb
|
|
108
109
|
- lib/rubyjobbuilderdsl/postbuild/trigger.rb
|
|
109
110
|
- lib/rubyjobbuilderdsl/postbuild/xunit_publisher.rb
|
|
@@ -112,9 +113,13 @@ files:
|
|
|
112
113
|
- rubyjobbuilderdsl.gemspec
|
|
113
114
|
- rubyjobbuilderdsl.sublime-project
|
|
114
115
|
- run_tests.sh
|
|
115
|
-
- sample/Schedule-sample-pipeline.xml
|
|
116
116
|
- sample/hello_mars.rb
|
|
117
|
+
- sample/hello_mars.xml
|
|
118
|
+
- sample/hello_world-post.xml
|
|
117
119
|
- sample/local.ini
|
|
120
|
+
- sample/sample_flow.rb
|
|
121
|
+
- sample/sample_slack_postbuild.rb
|
|
122
|
+
- sample/test.xml
|
|
118
123
|
- test/test_ant.rb
|
|
119
124
|
- test/test_archive.rb
|
|
120
125
|
- test/test_artifactory.rb
|
|
@@ -164,17 +169,17 @@ require_paths:
|
|
|
164
169
|
- lib
|
|
165
170
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
171
|
requirements:
|
|
167
|
-
- -
|
|
172
|
+
- - ! '>='
|
|
168
173
|
- !ruby/object:Gem::Version
|
|
169
174
|
version: '0'
|
|
170
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
176
|
requirements:
|
|
172
|
-
- -
|
|
177
|
+
- - ! '>='
|
|
173
178
|
- !ruby/object:Gem::Version
|
|
174
179
|
version: '0'
|
|
175
180
|
requirements: []
|
|
176
181
|
rubyforge_project:
|
|
177
|
-
rubygems_version: 2.
|
|
182
|
+
rubygems_version: 2.6.7
|
|
178
183
|
signing_key:
|
|
179
184
|
specification_version: 4
|
|
180
185
|
summary: Ruby Internal DSL for creating Jenkins jobs
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
<flow-definition plugin="workflow-job@2.11">
|
|
2
|
-
<actions/>
|
|
3
|
-
<description/>
|
|
4
|
-
<keepDependencies>false</keepDependencies>
|
|
5
|
-
<properties>
|
|
6
|
-
<org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
|
|
7
|
-
<triggers/>
|
|
8
|
-
</org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
|
|
9
|
-
</properties>
|
|
10
|
-
<definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" plugin="workflow-cps@2.32">
|
|
11
|
-
<script>
|
|
12
|
-
def date = new Date()
|
|
13
|
-
def release = date.format('yyyy.MM.dd')
|
|
14
|
-
def releaseManifest = release + ".0400"
|
|
15
|
-
println releaseManifest
|
|
16
|
-
|
|
17
|
-
build job: 'CreateRelease-gen3',
|
|
18
|
-
parameters: [
|
|
19
|
-
string(name: 'OctopusServer', value: 'https://octopus.dev.oneviewhealthcare.com'),
|
|
20
|
-
string(name: 'OctopusKey', value: 'API-9BSIB9H8ESGRLT0RX05QQNGE'),
|
|
21
|
-
string(name: 'DeploySpecificPackages', value: 'false'),
|
|
22
|
-
string(name: 'ReleaseNumber', value: '63'),
|
|
23
|
-
string(name: 'ReleaseManifest', value: releaseManifest),
|
|
24
|
-
string(name: 'Channel', value: 'Release Channel')]
|
|
25
|
-
</script>
|
|
26
|
-
</definition>
|
|
27
|
-
<disabled>false</disabled>
|
|
28
|
-
</flow-definition>
|