rubyjobbuilderdsl 0.0.4 → 0.0.5

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.
Files changed (112) hide show
  1. checksums.yaml +5 -13
  2. data/Gemfile +6 -6
  3. data/Gemfile.lock +41 -41
  4. data/LICENSE +18 -18
  5. data/Rakefile +12 -12
  6. data/docs/common.md +313 -313
  7. data/docs/flow.md +17 -17
  8. data/docs/freestyle.md +100 -100
  9. data/docs/gerrit.md +70 -70
  10. data/docs/git.md +88 -88
  11. data/docs/multi.md +26 -26
  12. data/docs/overview.md +74 -74
  13. data/docs/postbuild.md +266 -266
  14. data/docs/view.md +13 -13
  15. data/lib/rubyjobbuilderdsl/buildstep/ant.rb +29 -29
  16. data/lib/rubyjobbuilderdsl/buildstep/copyartifact.rb +23 -23
  17. data/lib/rubyjobbuilderdsl/buildstep/inject_env.rb +18 -18
  18. data/lib/rubyjobbuilderdsl/buildstep/phase.rb +19 -19
  19. data/lib/rubyjobbuilderdsl/buildstep/phase_job.rb +26 -26
  20. data/lib/rubyjobbuilderdsl/buildstep/shell.rb +24 -24
  21. data/lib/rubyjobbuilderdsl/buildstep/xvfb.rb +46 -46
  22. data/lib/rubyjobbuilderdsl/common/artifactory.rb +33 -33
  23. data/lib/rubyjobbuilderdsl/common/blocking_job.rb +11 -11
  24. data/lib/rubyjobbuilderdsl/common/build_timeout.rb +23 -23
  25. data/lib/rubyjobbuilderdsl/common/gerrit.rb +53 -53
  26. data/lib/rubyjobbuilderdsl/common/git.rb +76 -76
  27. data/lib/rubyjobbuilderdsl/common/logrotate.rb +24 -24
  28. data/lib/rubyjobbuilderdsl/common/parameter.rb +22 -22
  29. data/lib/rubyjobbuilderdsl/common/password.rb +12 -12
  30. data/lib/rubyjobbuilderdsl/common/pollscm.rb +10 -10
  31. data/lib/rubyjobbuilderdsl/common/scms.rb +18 -18
  32. data/lib/rubyjobbuilderdsl/common/throttle.rb +24 -24
  33. data/lib/rubyjobbuilderdsl/common/timed.rb +10 -10
  34. data/lib/rubyjobbuilderdsl/common/timestamps.rb +6 -6
  35. data/lib/rubyjobbuilderdsl/common.rb +140 -140
  36. data/lib/rubyjobbuilderdsl/deployer.rb +95 -95
  37. data/lib/rubyjobbuilderdsl/flow.rb +14 -14
  38. data/lib/rubyjobbuilderdsl/freestyle.rb +65 -65
  39. data/lib/rubyjobbuilderdsl/jenkins_client.rb +203 -203
  40. data/lib/rubyjobbuilderdsl/multijob.rb +24 -24
  41. data/lib/rubyjobbuilderdsl/postbuild/archive.rb +23 -23
  42. data/lib/rubyjobbuilderdsl/postbuild/chucknorris_publisher.rb +6 -6
  43. data/lib/rubyjobbuilderdsl/postbuild/claim_publisher.rb +6 -6
  44. data/lib/rubyjobbuilderdsl/postbuild/cloverphp_publisher.rb +36 -36
  45. data/lib/rubyjobbuilderdsl/postbuild/cucumber_json_publisher.rb +20 -20
  46. data/lib/rubyjobbuilderdsl/postbuild/email_publisher.rb +23 -23
  47. data/lib/rubyjobbuilderdsl/postbuild/game_publisher.rb +6 -6
  48. data/lib/rubyjobbuilderdsl/postbuild/groovy.rb +10 -10
  49. data/lib/rubyjobbuilderdsl/postbuild/html_publisher.rb +27 -27
  50. data/lib/rubyjobbuilderdsl/postbuild/javadoc_publisher.rb +19 -19
  51. data/lib/rubyjobbuilderdsl/postbuild/logparser.rb +21 -21
  52. data/lib/rubyjobbuilderdsl/postbuild/nunit_publisher.rb +21 -21
  53. data/lib/rubyjobbuilderdsl/postbuild/pmd_publisher.rb +19 -19
  54. data/lib/rubyjobbuilderdsl/postbuild/script.rb +14 -14
  55. data/lib/rubyjobbuilderdsl/postbuild/tap_publisher.rb +44 -44
  56. data/lib/rubyjobbuilderdsl/postbuild/trigger.rb +38 -38
  57. data/lib/rubyjobbuilderdsl/postbuild/xunit_publisher.rb +35 -35
  58. data/lib/rubyjobbuilderdsl/postbuild.rb +160 -160
  59. data/lib/rubyjobbuilderdsl/view.rb +14 -14
  60. data/lib/rubyjobbuilderdsl/xml_generator.rb +1 -1
  61. data/lib/rubyjobbuilderdsl.rb +2 -2
  62. data/rubyjobbuilderdsl-0.0.3.gem +0 -0
  63. data/rubyjobbuilderdsl.gemspec +13 -13
  64. data/rubyjobbuilderdsl.sublime-project +14 -14
  65. data/run_tests.sh +7 -7
  66. data/sample/Schedule-sample-pipeline.xml +32 -0
  67. data/sample/hello_mars.rb +27 -27
  68. data/sample/local.ini +4 -4
  69. data/test/test_ant.rb +38 -38
  70. data/test/test_archive.rb +24 -24
  71. data/test/test_artifactory.rb +26 -26
  72. data/test/test_blocking_job.rb +18 -18
  73. data/test/test_chucknorris_publisher.rb +17 -17
  74. data/test/test_claim_publisher.rb +17 -17
  75. data/test/test_cloverphp.rb +33 -33
  76. data/test/test_concurrent.rb +44 -44
  77. data/test/test_copyartifact.rb +45 -45
  78. data/test/test_cucumber_json_publisher.rb +30 -30
  79. data/test/test_default_setting.rb +29 -29
  80. data/test/test_email_publisher.rb +44 -44
  81. data/test/test_flow.rb +19 -19
  82. data/test/test_freestyle.rb +52 -52
  83. data/test/test_game_publisher.rb +17 -17
  84. data/test/test_gerrit.rb +117 -117
  85. data/test/test_git.rb +80 -80
  86. data/test/test_html_publisher.rb +57 -57
  87. data/test/test_inject.rb +23 -23
  88. data/test/test_javadoc.rb +22 -22
  89. data/test/test_logparser.rb +24 -24
  90. data/test/test_logrotate.rb +22 -22
  91. data/test/test_multijob.rb +50 -50
  92. data/test/test_nunit_publisher.rb +20 -20
  93. data/test/test_parameter.rb +44 -44
  94. data/test/test_password.rb +17 -17
  95. data/test/test_pmd.rb +22 -22
  96. data/test/test_pollscm.rb +15 -15
  97. data/test/test_postbuild_groovy.rb +21 -21
  98. data/test/test_postbuild_script.rb +24 -24
  99. data/test/test_postbuild_trigger.rb +170 -170
  100. data/test/test_scms.rb +31 -31
  101. data/test/test_tap_publisher.rb +25 -25
  102. data/test/test_timed.rb +15 -15
  103. data/test/test_timeout.rb +20 -20
  104. data/test/test_timestamps.rb +14 -14
  105. data/test/test_xml_generator.rb +28 -28
  106. data/test/test_xunit_publisher.rb +22 -22
  107. data/test/test_xvfb.rb +35 -35
  108. metadata +9 -11
  109. data/sample/hello_mars.xml +0 -18
  110. data/sample/hello_world-post.xml +0 -40
  111. data/sample/sample_flow.rb +0 -15
  112. data/sample/test.xml +0 -21
@@ -1,160 +1,160 @@
1
- require_relative 'postbuild/archive'
2
- require_relative 'postbuild/logparser'
3
- require_relative 'postbuild/html_publisher'
4
- require_relative 'postbuild/email_publisher'
5
- require_relative 'postbuild/nunit_publisher'
6
- require_relative 'postbuild/xunit_publisher'
7
- require_relative 'postbuild/cloverphp_publisher'
8
- require_relative 'postbuild/javadoc_publisher'
9
- require_relative 'postbuild/pmd_publisher'
10
- require_relative 'postbuild/claim_publisher'
11
- require_relative 'postbuild/tap_publisher'
12
- require_relative 'postbuild/chucknorris_publisher'
13
- require_relative 'postbuild/game_publisher'
14
- require_relative 'postbuild/script'
15
- require_relative 'postbuild/trigger'
16
- require_relative 'postbuild/groovy'
17
- require_relative 'postbuild/cucumber_json_publisher'
18
- require_relative 'postbuild/slack'
19
- require_relative 'buildstep/shell'
20
-
21
- # dsl methods for job builder
22
- module JenkinsJob
23
- module Postbuild
24
- class Postbuild < BasicObject
25
- attr_reader :job, :publishers_
26
-
27
- def initialize(job)
28
- @job = job
29
- @publishers_ = {}
30
- end
31
-
32
- def archive(&block)
33
- # sandbox for archive dsl
34
- archive = Archive.new
35
- archive.instance_eval(&block)
36
-
37
- @publishers_['archive'] = archive
38
- end
39
-
40
- def publish_html(name, &block)
41
- # sandbox for html publisher dsl
42
- publisher = HtmlPublisher.new(name)
43
- publisher.instance_eval(&block)
44
-
45
- @publishers_['publish_html'] ||= []
46
- @publishers_['publish_html'] << publisher
47
- end
48
-
49
- def send_email(recipients, &block)
50
- publisher = EmailPublisher.new(recipients)
51
- publisher.instance_eval(&block) if block
52
-
53
- @publishers_['send_email'] = publisher
54
- end
55
-
56
- def publish_nunit_report(test_results_pattern, &block)
57
- publisher = NUnitPublisher.new(test_results_pattern)
58
- publisher.instance_eval(&block) if block
59
-
60
- @publishers_['publish_nunit_report'] = publisher
61
- end
62
-
63
- def publish_xunit_report(test_results_pattern, &block)
64
- publisher = XUnitPublisher.new(test_results_pattern)
65
- publisher.instance_eval(&block) if block
66
-
67
- @publishers_['publish_xunit_report'] = publisher
68
- end
69
-
70
- def publish_tap(test_results, &block)
71
- publisher = TapPublisher.new(test_results)
72
- publisher.instance_eval(&block) if block
73
-
74
- @publishers_['publish_tap'] = publisher
75
- end
76
-
77
- def logparser(rule_file, &block)
78
- # sandbox for html publisher dsl
79
- logparser = LogParser.new(rule_file)
80
- logparser.instance_eval(&block) if block
81
-
82
- @publishers_['logparser'] = logparser
83
- end
84
-
85
- def shell(value)
86
- @publishers_['postbuildscript'] ||= PostbuildScript.new
87
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Shell.new(value))
88
- end
89
-
90
- def batch(value)
91
- @publishers_['postbuildscript'] ||= PostbuildScript.new
92
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Batch.new(value))
93
- end
94
-
95
- def powershell(value)
96
- @publishers_['postbuildscript'] ||= PostbuildScript.new
97
- @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Powershell.new(value))
98
- end
99
-
100
- def trigger(*project, &block)
101
- trigger = PostbuildTrigger.new(project)
102
- trigger.instance_eval(&block) if block
103
- @publishers_['trigger-parameterized-builds'] = trigger
104
- end
105
-
106
- def groovy(value)
107
- @publishers_['groovy'] = PostbuildGroovy.new(value)
108
- end
109
-
110
- def publish_cloverphp(&block)
111
- clover = CloverPhpPublisher.new
112
- clover.instance_eval(&block) if block
113
- @publishers_['clover-php'] = clover
114
- end
115
-
116
- def publish_slack(&block)
117
- slack = PostbuildSlack.new
118
- slack.instance_eval(&block) if block
119
- @publishers_['slack'] = slack
120
- end
121
-
122
- def cucumber_json_publisher(&block)
123
- cucumber = CucumberJsonPublisher.new
124
- cucumber.instance_eval(&block) if block
125
- @publishers_['cucumber'] = cucumber
126
- end
127
-
128
- def publish_javadoc(&block)
129
- doc = JavaDocPublisher.new
130
- doc.instance_eval(&block) if block
131
- @publishers_['java-doc'] = doc
132
- end
133
-
134
- def publish_pmd(&block)
135
- pmd = PMDPublisher.new
136
- pmd.instance_eval(&block) if block
137
- @publishers_['pmd'] = pmd
138
- end
139
-
140
- def publish_chucknorris(&block)
141
- chucknorris = ChuckNorrisPublisher.new
142
- chucknorris.instance_eval(&block) if block
143
- @publishers_['chucknorris'] = chucknorris
144
- end
145
- alias_method :chucknorris, :publish_chucknorris
146
-
147
- def publish_game(&block)
148
- game = GamePublisher.new
149
- game.instance_eval(&block) if block
150
- @publishers_['game'] = game
151
- end
152
- alias_method :game, :publish_game
153
-
154
- def allow_broken_build_claiming
155
- publisher = ClaimPublisher.new
156
- @publishers_['claim-publisher'] = publisher
157
- end
158
- end
159
- end
160
- end
1
+ require_relative 'postbuild/archive'
2
+ require_relative 'postbuild/logparser'
3
+ require_relative 'postbuild/html_publisher'
4
+ require_relative 'postbuild/email_publisher'
5
+ require_relative 'postbuild/nunit_publisher'
6
+ require_relative 'postbuild/xunit_publisher'
7
+ require_relative 'postbuild/cloverphp_publisher'
8
+ require_relative 'postbuild/javadoc_publisher'
9
+ require_relative 'postbuild/pmd_publisher'
10
+ require_relative 'postbuild/claim_publisher'
11
+ require_relative 'postbuild/tap_publisher'
12
+ require_relative 'postbuild/chucknorris_publisher'
13
+ require_relative 'postbuild/game_publisher'
14
+ require_relative 'postbuild/script'
15
+ require_relative 'postbuild/trigger'
16
+ require_relative 'postbuild/groovy'
17
+ require_relative 'postbuild/cucumber_json_publisher'
18
+ require_relative 'postbuild/slack'
19
+ require_relative 'buildstep/shell'
20
+
21
+ # dsl methods for job builder
22
+ module JenkinsJob
23
+ module Postbuild
24
+ class Postbuild < BasicObject
25
+ attr_reader :job, :publishers_
26
+
27
+ def initialize(job)
28
+ @job = job
29
+ @publishers_ = {}
30
+ end
31
+
32
+ def archive(&block)
33
+ # sandbox for archive dsl
34
+ archive = Archive.new
35
+ archive.instance_eval(&block)
36
+
37
+ @publishers_['archive'] = archive
38
+ end
39
+
40
+ def publish_html(name, &block)
41
+ # sandbox for html publisher dsl
42
+ publisher = HtmlPublisher.new(name)
43
+ publisher.instance_eval(&block)
44
+
45
+ @publishers_['publish_html'] ||= []
46
+ @publishers_['publish_html'] << publisher
47
+ end
48
+
49
+ def send_email(recipients, &block)
50
+ publisher = EmailPublisher.new(recipients)
51
+ publisher.instance_eval(&block) if block
52
+
53
+ @publishers_['send_email'] = publisher
54
+ end
55
+
56
+ def publish_nunit_report(test_results_pattern, &block)
57
+ publisher = NUnitPublisher.new(test_results_pattern)
58
+ publisher.instance_eval(&block) if block
59
+
60
+ @publishers_['publish_nunit_report'] = publisher
61
+ end
62
+
63
+ def publish_xunit_report(test_results_pattern, &block)
64
+ publisher = XUnitPublisher.new(test_results_pattern)
65
+ publisher.instance_eval(&block) if block
66
+
67
+ @publishers_['publish_xunit_report'] = publisher
68
+ end
69
+
70
+ def publish_tap(test_results, &block)
71
+ publisher = TapPublisher.new(test_results)
72
+ publisher.instance_eval(&block) if block
73
+
74
+ @publishers_['publish_tap'] = publisher
75
+ end
76
+
77
+ def logparser(rule_file, &block)
78
+ # sandbox for html publisher dsl
79
+ logparser = LogParser.new(rule_file)
80
+ logparser.instance_eval(&block) if block
81
+
82
+ @publishers_['logparser'] = logparser
83
+ end
84
+
85
+ def shell(value)
86
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
87
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Shell.new(value))
88
+ end
89
+
90
+ def batch(value)
91
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
92
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Batch.new(value))
93
+ end
94
+
95
+ def powershell(value)
96
+ @publishers_['postbuildscript'] ||= PostbuildScript.new
97
+ @publishers_['postbuildscript'].add(::JenkinsJob::BuildStep::Powershell.new(value))
98
+ end
99
+
100
+ def trigger(*project, &block)
101
+ trigger = PostbuildTrigger.new(project)
102
+ trigger.instance_eval(&block) if block
103
+ @publishers_['trigger-parameterized-builds'] = trigger
104
+ end
105
+
106
+ def groovy(value)
107
+ @publishers_['groovy'] = PostbuildGroovy.new(value)
108
+ end
109
+
110
+ def publish_cloverphp(&block)
111
+ clover = CloverPhpPublisher.new
112
+ clover.instance_eval(&block) if block
113
+ @publishers_['clover-php'] = clover
114
+ end
115
+
116
+ def publish_slack(&block)
117
+ slack = PostbuildSlack.new
118
+ slack.instance_eval(&block) if block
119
+ @publishers_['slack'] = slack
120
+ end
121
+
122
+ def cucumber_json_publisher(&block)
123
+ cucumber = CucumberJsonPublisher.new
124
+ cucumber.instance_eval(&block) if block
125
+ @publishers_['cucumber'] = cucumber
126
+ end
127
+
128
+ def publish_javadoc(&block)
129
+ doc = JavaDocPublisher.new
130
+ doc.instance_eval(&block) if block
131
+ @publishers_['java-doc'] = doc
132
+ end
133
+
134
+ def publish_pmd(&block)
135
+ pmd = PMDPublisher.new
136
+ pmd.instance_eval(&block) if block
137
+ @publishers_['pmd'] = pmd
138
+ end
139
+
140
+ def publish_chucknorris(&block)
141
+ chucknorris = ChuckNorrisPublisher.new
142
+ chucknorris.instance_eval(&block) if block
143
+ @publishers_['chucknorris'] = chucknorris
144
+ end
145
+ alias_method :chucknorris, :publish_chucknorris
146
+
147
+ def publish_game(&block)
148
+ game = GamePublisher.new
149
+ game.instance_eval(&block) if block
150
+ @publishers_['game'] = game
151
+ end
152
+ alias_method :game, :publish_game
153
+
154
+ def allow_broken_build_claiming
155
+ publisher = ClaimPublisher.new
156
+ @publishers_['claim-publisher'] = publisher
157
+ end
158
+ end
159
+ end
160
+ end
@@ -1,14 +1,14 @@
1
- module JenkinsJob
2
- class View
3
- attr_reader :name, :jobname_
4
-
5
- def initialize(name, builder)
6
- @builder = builder
7
- @name = name
8
- end
9
-
10
- def job(regex)
11
- @jobname_ = regex
12
- end
13
- end
14
- end
1
+ module JenkinsJob
2
+ class View
3
+ attr_reader :name, :jobname_
4
+
5
+ def initialize(name, builder)
6
+ @builder = builder
7
+ @name = name
8
+ end
9
+
10
+ def job(regex)
11
+ @jobname_ = regex
12
+ end
13
+ end
14
+ end
@@ -438,7 +438,7 @@ module JenkinsJob
438
438
 
439
439
  def generate_build_timeout(model, wrappers)
440
440
  wrappers.tag!('hudson.plugins.build__timeout.BuildTimeoutWrapper') do |timeout|
441
- timeout.timeoutMinutes(3)
441
+ timeout.timeoutMinutes(10)
442
442
  timeout.failBuild(false)
443
443
  timeout.writingDescription(false)
444
444
  timeout.timeoutType(model.type_)
@@ -1,2 +1,2 @@
1
- require_relative './rubyjobbuilderdsl/builder'
2
- require_relative './rubyjobbuilderdsl/deployer'
1
+ require_relative './rubyjobbuilderdsl/builder'
2
+ require_relative './rubyjobbuilderdsl/deployer'
Binary file
@@ -1,13 +1,13 @@
1
- Gem::Specification.new do |s|
2
- s.name = 'rubyjobbuilderdsl'
3
- s.version = '0.0.4'
4
- s.date = '2017-10-16'
5
- s.summary = 'Ruby Internal DSL for creating Jenkins jobs'
6
- s.description = 'Ruby Internal DSL for creating Jenkins jobs'
7
- s.authors = ['Huy Le']
8
- s.email = 'lehuy20@gmail.com'
9
- s.files = Dir['**/*']
10
- s.license = 'MIT'
11
- s.add_runtime_dependency 'nokogiri'
12
- s.add_runtime_dependency 'builder'
13
- end
1
+ Gem::Specification.new do |s|
2
+ s.name = 'rubyjobbuilderdsl'
3
+ s.version = '0.0.5'
4
+ s.date = '2017-10-16'
5
+ s.summary = 'Ruby Internal DSL for creating Jenkins jobs'
6
+ s.description = 'Ruby Internal DSL for creating Jenkins jobs'
7
+ s.authors = ['Huy Le']
8
+ s.email = 'lehuy20@gmail.com'
9
+ s.files = Dir['**/*']
10
+ s.license = 'MIT'
11
+ s.add_runtime_dependency 'nokogiri'
12
+ s.add_runtime_dependency 'builder'
13
+ end
@@ -1,14 +1,14 @@
1
- {
2
- "folders":
3
- [
4
- {
5
- "path": ".",
6
- "folder_exclude_patterns": [".bundle", "vendor"]
7
- }
8
- ],
9
- "settings":
10
- {
11
- "tab_size": 2,
12
- "translate_tabs_to_spaces": true
13
- }
14
- }
1
+ {
2
+ "folders":
3
+ [
4
+ {
5
+ "path": ".",
6
+ "folder_exclude_patterns": [".bundle", "vendor"]
7
+ }
8
+ ],
9
+ "settings":
10
+ {
11
+ "tab_size": 2,
12
+ "translate_tabs_to_spaces": true
13
+ }
14
+ }
data/run_tests.sh CHANGED
@@ -1,7 +1,7 @@
1
- #!/bin/sh
2
-
3
- set -ex
4
-
5
- bundle install --deployment
6
-
7
- bundle exec rake
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ bundle install --deployment
6
+
7
+ bundle exec rake
@@ -0,0 +1,32 @@
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
+ <hudson.triggers.TimerTrigger>
9
+ <spec>0 15 * * *</spec>
10
+ </hudson.triggers.TimerTrigger>
11
+ </triggers>
12
+ </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
13
+ </properties>
14
+ <definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" plugin="workflow-cps@2.32">
15
+ <script>
16
+ def date = new Date()
17
+ def release = date.format('yyyy.MM.dd')
18
+ def releaseManifest = release + ".0400"
19
+ println releaseManifest
20
+
21
+ build job: 'CreateRelease-gen3',
22
+ parameters: [
23
+ string(name: 'OctopusServer', value: 'https://OctopusServerSomewhere.com'),
24
+ string(name: 'OctopusKey', value: 'An API Key'),
25
+ string(name: 'DeploySpecificPackages', value: 'false'),
26
+ string(name: 'ReleaseNumber', value: '63'),
27
+ string(name: 'ReleaseManifest', value: releaseManifest),
28
+ string(name: 'Channel', value: 'Release Channel')]
29
+ </script>
30
+ </definition>
31
+ <disabled>false</disabled>
32
+ </flow-definition>
data/sample/hello_mars.rb CHANGED
@@ -1,27 +1,27 @@
1
- require_relative '../lib/rubyjobbuilderdsl'
2
-
3
- builder = JenkinsJob::Builder.new
4
-
5
- builder.freestyle 'hello_mars' do
6
- shell 'echo hello mars > hello_mars-1.0.$BUILD_NUMBER.txt && gzip hello_mars-1.0.$BUILD_NUMBER.txt'
7
- end
8
-
9
- builder.view 'test' do
10
- job 'test-.*'
11
- end
12
-
13
- JenkinsJob::Deployer.new(builder).run do
14
- disable_job 'hello_mars'
15
- wipeout_workspace 'hello_mars'
16
- delete_job 'hello_mars'
17
- delete_view 'test'
18
-
19
- each do |name, xml, type|
20
- upload_view(name, xml) if type == :view
21
- upload_job(name, xml) if type == :job
22
- end
23
-
24
- groovysh 'println "hello world"'
25
- enable_job 'hello_mars'
26
- trigger_job 'hello_mars'
27
- end
1
+ require_relative '../lib/rubyjobbuilderdsl'
2
+
3
+ builder = JenkinsJob::Builder.new
4
+
5
+ builder.freestyle 'hello_mars' do
6
+ shell 'echo hello mars > hello_mars-1.0.$BUILD_NUMBER.txt && gzip hello_mars-1.0.$BUILD_NUMBER.txt'
7
+ end
8
+
9
+ builder.view 'test' do
10
+ job 'test-.*'
11
+ end
12
+
13
+ JenkinsJob::Deployer.new(builder).run do
14
+ disable_job 'hello_mars'
15
+ wipeout_workspace 'hello_mars'
16
+ delete_job 'hello_mars'
17
+ delete_view 'test'
18
+
19
+ each do |name, xml, type|
20
+ upload_view(name, xml) if type == :view
21
+ upload_job(name, xml) if type == :job
22
+ end
23
+
24
+ groovysh 'println "hello world"'
25
+ enable_job 'hello_mars'
26
+ trigger_job 'hello_mars'
27
+ end
data/sample/local.ini CHANGED
@@ -1,4 +1,4 @@
1
- [jenkins]
2
- url=http://localhost:8080/
3
- user=jenkins-jobs
4
- password=7bb352e4f3da683c17247f3abf88f47c
1
+ [jenkins]
2
+ url=http://localhost:8080/
3
+ user=jenkins-jobs
4
+ password=7bb352e4f3da683c17247f3abf88f47c
data/test/test_ant.rb CHANGED
@@ -1,38 +1,38 @@
1
- require_relative './test_xml_generator'
2
-
3
- class TestXmlAnt < Test::Unit::TestCase
4
- def test_ant
5
- builder = JenkinsJob::Builder.new
6
-
7
- builder.freestyle 'foo' do
8
- ant do
9
- target 'clean', 'lint'
10
- buildfile 'foo.xml'
11
- java_opts '-Xmx512m', '-Xms512m'
12
- property 'skipTest' => 'false'
13
- end
14
- end
15
-
16
- actual = builder.config_as_xml_node('foo')
17
- { 'hudson.tasks.Ant/targets' => 'clean lint',
18
- 'hudson.tasks.Ant/buildFile' => 'foo.xml',
19
- 'hudson.tasks.Ant/properties' => '-DskipTest=false',
20
- 'hudson.tasks.Ant/antOpts' => '-Xmx512m -Xms512m',
21
- }.each do |k, v|
22
- assert_equal v, actual.xpath('./project/builders/' \
23
- "#{k}").text, k
24
- end
25
- end
26
-
27
- def test_ant_defalt_target
28
- builder = JenkinsJob::Builder.new
29
-
30
- builder.freestyle 'foo' do
31
- ant do
32
- end
33
- end
34
-
35
- actual = builder.config_as_xml_node('foo')
36
- assert actual.at('./project/builders/hudson.tasks.Ant/targets')
37
- end
38
- end
1
+ require_relative './test_xml_generator'
2
+
3
+ class TestXmlAnt < Test::Unit::TestCase
4
+ def test_ant
5
+ builder = JenkinsJob::Builder.new
6
+
7
+ builder.freestyle 'foo' do
8
+ ant do
9
+ target 'clean', 'lint'
10
+ buildfile 'foo.xml'
11
+ java_opts '-Xmx512m', '-Xms512m'
12
+ property 'skipTest' => 'false'
13
+ end
14
+ end
15
+
16
+ actual = builder.config_as_xml_node('foo')
17
+ { 'hudson.tasks.Ant/targets' => 'clean lint',
18
+ 'hudson.tasks.Ant/buildFile' => 'foo.xml',
19
+ 'hudson.tasks.Ant/properties' => '-DskipTest=false',
20
+ 'hudson.tasks.Ant/antOpts' => '-Xmx512m -Xms512m',
21
+ }.each do |k, v|
22
+ assert_equal v, actual.xpath('./project/builders/' \
23
+ "#{k}").text, k
24
+ end
25
+ end
26
+
27
+ def test_ant_defalt_target
28
+ builder = JenkinsJob::Builder.new
29
+
30
+ builder.freestyle 'foo' do
31
+ ant do
32
+ end
33
+ end
34
+
35
+ actual = builder.config_as_xml_node('foo')
36
+ assert actual.at('./project/builders/hudson.tasks.Ant/targets')
37
+ end
38
+ end
data/test/test_archive.rb CHANGED
@@ -1,24 +1,24 @@
1
- require_relative './test_xml_generator'
2
-
3
- class TestXmlArchive < Test::Unit::TestCase
4
- def test_postbuild_archive
5
- builder = JenkinsJob::Builder.new
6
-
7
- builder.freestyle 'foo' do
8
- postbuild do
9
- archive do
10
- file 'a/**',
11
- 'b/**',
12
- 'c/lib/**'
13
- latest_only true
14
- end
15
- end
16
- end
17
-
18
- actual = builder.config_as_xml_node('foo')
19
- { 'artifacts' => 'a/**,b/**,c/lib/**',
20
- 'latestOnly' => 'true' }.each do |k, v|
21
- assert_equal v, actual.xpath("./project/publishers/hudson.tasks.ArtifactArchiver/#{k}").text, k
22
- end
23
- end
24
- end
1
+ require_relative './test_xml_generator'
2
+
3
+ class TestXmlArchive < Test::Unit::TestCase
4
+ def test_postbuild_archive
5
+ builder = JenkinsJob::Builder.new
6
+
7
+ builder.freestyle 'foo' do
8
+ postbuild do
9
+ archive do
10
+ file 'a/**',
11
+ 'b/**',
12
+ 'c/lib/**'
13
+ latest_only true
14
+ end
15
+ end
16
+ end
17
+
18
+ actual = builder.config_as_xml_node('foo')
19
+ { 'artifacts' => 'a/**,b/**,c/lib/**',
20
+ 'latestOnly' => 'true' }.each do |k, v|
21
+ assert_equal v, actual.xpath("./project/publishers/hudson.tasks.ArtifactArchiver/#{k}").text, k
22
+ end
23
+ end
24
+ end