jenkins_pipeline_builder 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Rakefile +68 -0
- data/bin/generate +28 -0
- data/config/login.yml +24 -0
- data/jenkins_pipeline_builder.gemspec +42 -0
- data/lib/jenksin_pipeline_builder.rb +39 -0
- data/lib/jenksin_pipeline_builder/builders.rb +72 -0
- data/lib/jenksin_pipeline_builder/cli/base.rb +69 -0
- data/lib/jenksin_pipeline_builder/cli/helper.rb +68 -0
- data/lib/jenksin_pipeline_builder/cli/pipeline.rb +40 -0
- data/lib/jenksin_pipeline_builder/cli/view.rb +40 -0
- data/lib/jenksin_pipeline_builder/compiler.rb +81 -0
- data/lib/jenksin_pipeline_builder/generator.rb +346 -0
- data/lib/jenksin_pipeline_builder/job_builder.rb +82 -0
- data/lib/jenksin_pipeline_builder/module_registry.rb +82 -0
- data/lib/jenksin_pipeline_builder/publishers.rb +113 -0
- data/lib/jenksin_pipeline_builder/triggers.rb +38 -0
- data/lib/jenksin_pipeline_builder/utils.rb +46 -0
- data/lib/jenksin_pipeline_builder/version.rb +25 -0
- data/lib/jenksin_pipeline_builder/view.rb +259 -0
- data/lib/jenksin_pipeline_builder/wrappers.rb +91 -0
- data/lib/jenksin_pipeline_builder/xml_helper.rb +40 -0
- data/spec/func_tests/spec_helper.rb +18 -0
- data/spec/func_tests/view_spec.rb +93 -0
- data/spec/unit_tests/compiler_spec.rb +19 -0
- data/spec/unit_tests/fixtures/files/Job-Build-Flow.xml +57 -0
- data/spec/unit_tests/fixtures/files/Job-Build-Flow.yaml +22 -0
- data/spec/unit_tests/fixtures/files/Job-Build-Maven.xml +90 -0
- data/spec/unit_tests/fixtures/files/Job-Build-Maven.yaml +26 -0
- data/spec/unit_tests/fixtures/files/Job-DSL.yaml +14 -0
- data/spec/unit_tests/fixtures/files/Job-DSL1.xml +27 -0
- data/spec/unit_tests/fixtures/files/Job-DSL2.xml +25 -0
- data/spec/unit_tests/fixtures/files/Job-Gem-Build.xml +142 -0
- data/spec/unit_tests/fixtures/files/Job-Gem-Build.yaml +41 -0
- data/spec/unit_tests/fixtures/files/Job-Generate-From-Template.xml +32 -0
- data/spec/unit_tests/fixtures/files/Job-Generate-From-Template.yaml +8 -0
- data/spec/unit_tests/fixtures/files/Job-Multi-Project.xml +117 -0
- data/spec/unit_tests/fixtures/files/Job-Multi-Project.yaml +36 -0
- data/spec/unit_tests/fixtures/files/project.yaml +15 -0
- data/spec/unit_tests/generator_spec.rb +67 -0
- data/spec/unit_tests/module_registry_spec.rb +19 -0
- data/spec/unit_tests/resolve_dependencies_spec.rb +230 -0
- data/spec/unit_tests/spec_helper.rb +29 -0
- metadata +75 -6
@@ -0,0 +1,15 @@
|
|
1
|
+
- defaults:
|
2
|
+
name: global
|
3
|
+
description: 'Do not edit this job through the web!'
|
4
|
+
hipchat_room: HipChat Room Name
|
5
|
+
os_username: admin
|
6
|
+
os_priv_key: /home/user/qa-oskey.priv
|
7
|
+
os_password: some_encrypted_password
|
8
|
+
|
9
|
+
- project:
|
10
|
+
name: Generate
|
11
|
+
jobs:
|
12
|
+
- Job-{{name}}-From-Template:
|
13
|
+
command: run.sh
|
14
|
+
- Job-DSL1
|
15
|
+
- Job-DSL2
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require File.expand_path('../spec_helper', __FILE__)
|
2
|
+
require 'equivalent-xml'
|
3
|
+
|
4
|
+
describe 'Test YAML jobs conversion to XML' do
|
5
|
+
context 'Loading YAML files' do
|
6
|
+
before do
|
7
|
+
@client = JenkinsApi::Client.new(
|
8
|
+
:server_ip => '127.0.0.1',
|
9
|
+
:server_port => 8080,
|
10
|
+
:username => 'username',
|
11
|
+
:password => 'password',
|
12
|
+
:log_location => '/dev/null'
|
13
|
+
)
|
14
|
+
@generator = JenkinsPipelineBuilder::Generator.new(nil, @client)
|
15
|
+
@generator.debug = true
|
16
|
+
@generator.no_files = true
|
17
|
+
end
|
18
|
+
|
19
|
+
def compare_jobs(job, path)
|
20
|
+
xml = @generator.compile_job_to_xml(job)
|
21
|
+
doc1 = Nokogiri::XML(xml)
|
22
|
+
|
23
|
+
sample_job_xml = File.read(path + '.xml')
|
24
|
+
|
25
|
+
doc2 = Nokogiri::XML(sample_job_xml)
|
26
|
+
|
27
|
+
doc1.should be_equivalent_to(doc2)
|
28
|
+
end
|
29
|
+
|
30
|
+
[
|
31
|
+
'Job-Multi-Project',
|
32
|
+
'Job-Build-Maven',
|
33
|
+
'Job-Build-Flow',
|
34
|
+
'Job-Gem-Build'
|
35
|
+
].each do |file|
|
36
|
+
it "should create expected XML from YAML '#{file}'" do
|
37
|
+
path = File.expand_path('../fixtures/files/' + file, __FILE__)
|
38
|
+
|
39
|
+
@generator.load_collection_from_path path + '.yaml'
|
40
|
+
job_name = @generator.job_collection.keys.first
|
41
|
+
job = @generator.resolve_job_by_name(job_name)
|
42
|
+
|
43
|
+
compare_jobs job, path
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should create expected XML from YAML collection" do
|
48
|
+
path = File.expand_path('../fixtures/files/', __FILE__)
|
49
|
+
|
50
|
+
@generator.load_collection_from_path(path)
|
51
|
+
|
52
|
+
project_name = @generator.projects.first[:name]
|
53
|
+
|
54
|
+
project = @generator.resolve_project(@generator.get_item(project_name))
|
55
|
+
|
56
|
+
project[:value][:jobs].should_not be_nil
|
57
|
+
|
58
|
+
project[:value][:jobs].each do |i|
|
59
|
+
job = i[:result]
|
60
|
+
job.should_not be_nil
|
61
|
+
|
62
|
+
file_name = File.join(path, job[:name])
|
63
|
+
compare_jobs job, file_name
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path('../spec_helper', __FILE__)
|
2
|
+
|
3
|
+
describe 'ModuleRegistry' do
|
4
|
+
|
5
|
+
it 'should return item by a specified path' do
|
6
|
+
|
7
|
+
registry = JenkinsPipelineBuilder::ModuleRegistry.new ({
|
8
|
+
zz: {
|
9
|
+
aa: 'aa',
|
10
|
+
bb: 'bb',
|
11
|
+
cc: {
|
12
|
+
dd: 'dd'
|
13
|
+
}
|
14
|
+
}
|
15
|
+
})
|
16
|
+
|
17
|
+
registry.get('zz/aa').should be == 'aa'
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,230 @@
|
|
1
|
+
require File.expand_path('../spec_helper', __FILE__)
|
2
|
+
|
3
|
+
describe 'Templates resolver' do
|
4
|
+
before(:each) do
|
5
|
+
@client = JenkinsApi::Client.new(
|
6
|
+
:server_ip => '127.0.0.1',
|
7
|
+
:server_port => 8080,
|
8
|
+
:username => 'username',
|
9
|
+
:password => 'password',
|
10
|
+
:log_location => '/dev/null'
|
11
|
+
)
|
12
|
+
@generator = JenkinsPipelineBuilder::Generator.new(nil, @client)
|
13
|
+
@generator.debug = true
|
14
|
+
@generator.no_files = true
|
15
|
+
end
|
16
|
+
|
17
|
+
describe 'resolving settings bags' do
|
18
|
+
it 'gives a bag when all the variables can be resolved' do
|
19
|
+
str = %{
|
20
|
+
- project:
|
21
|
+
name: project-name
|
22
|
+
db: my_own_db_{{else}}
|
23
|
+
}
|
24
|
+
project = YAML.load(str)
|
25
|
+
@generator.load_job_collection project
|
26
|
+
|
27
|
+
#@generator.resolve_item('project-name')
|
28
|
+
settings = JenkinsPipelineBuilder::Compiler.get_settings_bag(@generator.get_item('project-name'), { db: 'blah', else: "bum" })
|
29
|
+
settings.should == { name: "project-name", db: "my_own_db_bum", else: "bum", }
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns nil when all the variables cant be resolved' do
|
33
|
+
str = %{
|
34
|
+
- project:
|
35
|
+
name: project-name
|
36
|
+
db: my_own_db_{{else}}_{{blah}}
|
37
|
+
}
|
38
|
+
project = YAML.load(str)
|
39
|
+
@generator.load_job_collection project
|
40
|
+
|
41
|
+
#@generator.resolve_item('project-name')
|
42
|
+
settings = JenkinsPipelineBuilder::Compiler.get_settings_bag(@generator.get_item('project-name'), { db: 'blah', else: "bum" })
|
43
|
+
settings.should be_nil
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'starts with the defaults section for settings bag' do
|
48
|
+
str = %{
|
49
|
+
- defaults:
|
50
|
+
name: global
|
51
|
+
description: 'Do not edit this job through the web!'
|
52
|
+
- job-template:
|
53
|
+
name: 'foo-bar'
|
54
|
+
description: '{{description}}'
|
55
|
+
builders:
|
56
|
+
- shell: perftest
|
57
|
+
- project:
|
58
|
+
name: project-name
|
59
|
+
db: my_own_db
|
60
|
+
jobs:
|
61
|
+
- 'foo-bar'
|
62
|
+
}
|
63
|
+
project = YAML.load(str)
|
64
|
+
@generator.load_job_collection project
|
65
|
+
|
66
|
+
@generator.resolve_project(@generator.get_item('project-name')).should ==
|
67
|
+
{:name=>"project-name",
|
68
|
+
:type=>:project,
|
69
|
+
:value=>
|
70
|
+
{:name=>"project-name",
|
71
|
+
:db=>"my_own_db",
|
72
|
+
:jobs=>
|
73
|
+
[{:"foo-bar"=>{},
|
74
|
+
:result=>
|
75
|
+
{:name=>"foo-bar",
|
76
|
+
:description=>"Do not edit this job through the web!",
|
77
|
+
:builders=>[{:shell=>"perftest"}]}}]},
|
78
|
+
:settings=>
|
79
|
+
{:name=>"project-name",
|
80
|
+
:description=>"Do not edit this job through the web!",
|
81
|
+
:db=>"my_own_db"}}
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should build project collection from jobs templates' do
|
85
|
+
str = %{
|
86
|
+
- job-template:
|
87
|
+
name: '{{name}}-unit-tests'
|
88
|
+
builders:
|
89
|
+
- shell: unittest
|
90
|
+
publishers:
|
91
|
+
- email:
|
92
|
+
recipients: '{{mail-to}}'
|
93
|
+
|
94
|
+
- job-template:
|
95
|
+
name: '{{name}}-perf-tests'
|
96
|
+
builders:
|
97
|
+
- shell: perftest
|
98
|
+
publishers:
|
99
|
+
- email:
|
100
|
+
recipients: '{{mail-to}}'
|
101
|
+
|
102
|
+
- project:
|
103
|
+
name: project-name
|
104
|
+
db: my_own_db
|
105
|
+
jobs:
|
106
|
+
- '{{name}}-unit-tests':
|
107
|
+
mail-to: developer@nowhere.net
|
108
|
+
- '{{name}}-perf-tests':
|
109
|
+
mail-to: projmanager@nowhere.net
|
110
|
+
}
|
111
|
+
|
112
|
+
project = YAML.load(str)
|
113
|
+
@generator.load_job_collection project
|
114
|
+
|
115
|
+
@generator.resolve_project(@generator.get_item('project-name')).should ==
|
116
|
+
{:name=>"project-name",
|
117
|
+
:type=>:project,
|
118
|
+
:value=>
|
119
|
+
{:name=>"project-name",
|
120
|
+
:db=>"my_own_db",
|
121
|
+
:jobs=>
|
122
|
+
[{:"{{name}}-unit-tests"=>{:"mail-to"=>"developer@nowhere.net"},
|
123
|
+
:result=>
|
124
|
+
{:name=>"project-name-unit-tests",
|
125
|
+
:builders=>[{:shell=>"unittest"}],
|
126
|
+
:publishers=>[{:email=>{:recipients=>"developer@nowhere.net"}}]}},
|
127
|
+
{:"{{name}}-perf-tests"=>{:"mail-to"=>"projmanager@nowhere.net"},
|
128
|
+
:result=>
|
129
|
+
{:name=>"project-name-perf-tests",
|
130
|
+
:builders=>[{:shell=>"perftest"}],
|
131
|
+
:publishers=>[{:email=>{:recipients=>"projmanager@nowhere.net"}}]}}]},
|
132
|
+
:settings=>{:name=>"project-name", :db=>"my_own_db"}}
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'should build project collection from jobs and jobs templates' do
|
136
|
+
str = %{
|
137
|
+
- job-template:
|
138
|
+
name: '{{name}}-unit-tests'
|
139
|
+
builders:
|
140
|
+
- shell: unittest
|
141
|
+
publishers:
|
142
|
+
- email:
|
143
|
+
recipients: '{{mail-to}}'
|
144
|
+
|
145
|
+
- job:
|
146
|
+
name: 'foo-bar'
|
147
|
+
builders:
|
148
|
+
- shell: perftest
|
149
|
+
|
150
|
+
- project:
|
151
|
+
name: project-name
|
152
|
+
db: my_own_db
|
153
|
+
jobs:
|
154
|
+
- 'foo-bar'
|
155
|
+
- '{{name}}-unit-tests':
|
156
|
+
mail-to: projmanager@nowhere.net
|
157
|
+
}
|
158
|
+
|
159
|
+
project = YAML.load(str)
|
160
|
+
@generator.load_job_collection project
|
161
|
+
|
162
|
+
@generator.resolve_project(@generator.get_item('project-name')).should ==
|
163
|
+
{:name=>"project-name",
|
164
|
+
:type=>:project,
|
165
|
+
:value=>
|
166
|
+
{:name=>"project-name",
|
167
|
+
:db=>"my_own_db",
|
168
|
+
:jobs=>
|
169
|
+
[{:"foo-bar"=>{},
|
170
|
+
:result=>
|
171
|
+
{:name=>"foo-bar",
|
172
|
+
:builders=>[{:shell=>"perftest"}]}},
|
173
|
+
{:"{{name}}-unit-tests"=>{:"mail-to"=>"projmanager@nowhere.net"},
|
174
|
+
:result=>
|
175
|
+
{:name=>"project-name-unit-tests",
|
176
|
+
:builders=>[{:shell=>"unittest"}],
|
177
|
+
:publishers=>[{:email=>{:recipients=>"projmanager@nowhere.net"}}]}}]},
|
178
|
+
:settings=>{:name=>"project-name", :db=>"my_own_db"}}
|
179
|
+
end
|
180
|
+
|
181
|
+
|
182
|
+
describe 'compilation of templates' do
|
183
|
+
it 'compiles String' do
|
184
|
+
JenkinsPipelineBuilder::Compiler.compile('blah', { item1: 'data1'}).should == 'blah'
|
185
|
+
end
|
186
|
+
|
187
|
+
it 'compiles simple Hash' do
|
188
|
+
JenkinsPipelineBuilder::Compiler.compile({ name: 'item-{{item1}}', value: 'item1-data'}, { item1: 'data1'}).should ==
|
189
|
+
{ name: 'item-data1', value: 'item1-data'}
|
190
|
+
end
|
191
|
+
|
192
|
+
it 'compiles nested Hash' do
|
193
|
+
JenkinsPipelineBuilder::Compiler.compile({ name: 'item-{{item1}}', value: { house: 'house-{{item1}}'}}, { item1: 'data1'}).should ==
|
194
|
+
{ name: 'item-data1', value: { house: 'house-data1'}}
|
195
|
+
end
|
196
|
+
|
197
|
+
it 'compiles complex Hash' do
|
198
|
+
template = {:name=>"{{name}}-unit-tests",
|
199
|
+
:builders=>[{:shell=>"unittest"}],
|
200
|
+
:publishers=>[{:email=>{:recipients=>"{{mail-to}}"}}]}
|
201
|
+
settings = {:name=>"project-name", :db=>"my_own_db", :'mail-to' => 'developer@nowhere.net'}
|
202
|
+
|
203
|
+
JenkinsPipelineBuilder::Compiler.compile(template, settings).should ==
|
204
|
+
{:name=>"project-name-unit-tests",
|
205
|
+
:builders=>[{:shell=>"unittest"}],
|
206
|
+
:publishers=>[{:email=>{:recipients=>"developer@nowhere.net"}}]}
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
it 'shoult resolve job template into a job' do
|
211
|
+
file = 'project_simple'
|
212
|
+
path = File.expand_path('../fixtures/templates/' + file, __FILE__)
|
213
|
+
project = YAML.load_file(path + '.yaml')
|
214
|
+
|
215
|
+
@generator.load_job_collection project
|
216
|
+
|
217
|
+
@generator.resolve_job_by_name('{{name}}-unit-tests', { name: 'project-name', db: 'my_own_db', :'mail-to' => 'developer@nowhere.net' }).should ==
|
218
|
+
{:name=>"project-name-unit-tests",
|
219
|
+
:builders=>[{:shell=>"unittest"}],
|
220
|
+
:publishers=>[{:email=>{:recipients=>"developer@nowhere.net"}}]}
|
221
|
+
end
|
222
|
+
|
223
|
+
it 'should load from folder' do
|
224
|
+
path = File.expand_path('../fixtures/templates/', __FILE__)
|
225
|
+
@generator.load_collection_from_path(path)
|
226
|
+
|
227
|
+
@generator.job_collection.count.should == 4
|
228
|
+
@generator.projects.count == 1
|
229
|
+
end
|
230
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'logger'
|
2
|
+
require 'rspec'
|
3
|
+
|
4
|
+
require 'simplecov'
|
5
|
+
require 'simplecov-rcov'
|
6
|
+
|
7
|
+
SimpleCov.profiles.define 'spec' do
|
8
|
+
add_group 'jenksin_pipeline_builder', '/lib/'
|
9
|
+
coverage_dir 'out/coverage'
|
10
|
+
formatter SimpleCov::Formatter::MultiFormatter[
|
11
|
+
SimpleCov::Formatter::Console,
|
12
|
+
SimpleCov::Formatter::RcovFormatter,
|
13
|
+
]
|
14
|
+
end
|
15
|
+
|
16
|
+
class SimpleCov::Formatter::Console
|
17
|
+
def format(result)
|
18
|
+
print "COVERAGE: #{result.covered_percent.round(2)}%\n"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
SimpleCov.start 'spec' #if ENV["COVERAGE"]
|
23
|
+
|
24
|
+
require File.expand_path('../../../lib/jenksin_pipeline_builder', __FILE__)
|
25
|
+
|
26
|
+
RSpec.configure do |config|
|
27
|
+
config.before(:each) do
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jenkins_pipeline_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Moochnick
|
@@ -248,16 +248,64 @@ dependencies:
|
|
248
248
|
- - '>='
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: '0'
|
251
|
-
description:
|
251
|
+
description: |-
|
252
|
+
This is a simple and easy-to-use Jenkins Pipeline generator with features focused on
|
253
|
+
automating Job & Pipeline creation from the YAML files checked-in with your application source code
|
252
254
|
email:
|
253
255
|
- igor.moochnick@gmail.com
|
254
|
-
executables:
|
256
|
+
executables:
|
257
|
+
- generate
|
255
258
|
extensions: []
|
256
259
|
extra_rdoc_files: []
|
257
260
|
files:
|
261
|
+
- .ruby-gemset
|
262
|
+
- .ruby-version
|
263
|
+
- Gemfile
|
258
264
|
- LICENSE
|
259
265
|
- README.md
|
260
|
-
|
266
|
+
- Rakefile
|
267
|
+
- bin/generate
|
268
|
+
- config/login.yml
|
269
|
+
- jenkins_pipeline_builder.gemspec
|
270
|
+
- lib/jenksin_pipeline_builder.rb
|
271
|
+
- lib/jenksin_pipeline_builder/builders.rb
|
272
|
+
- lib/jenksin_pipeline_builder/cli/base.rb
|
273
|
+
- lib/jenksin_pipeline_builder/cli/helper.rb
|
274
|
+
- lib/jenksin_pipeline_builder/cli/pipeline.rb
|
275
|
+
- lib/jenksin_pipeline_builder/cli/view.rb
|
276
|
+
- lib/jenksin_pipeline_builder/compiler.rb
|
277
|
+
- lib/jenksin_pipeline_builder/generator.rb
|
278
|
+
- lib/jenksin_pipeline_builder/job_builder.rb
|
279
|
+
- lib/jenksin_pipeline_builder/module_registry.rb
|
280
|
+
- lib/jenksin_pipeline_builder/publishers.rb
|
281
|
+
- lib/jenksin_pipeline_builder/triggers.rb
|
282
|
+
- lib/jenksin_pipeline_builder/utils.rb
|
283
|
+
- lib/jenksin_pipeline_builder/version.rb
|
284
|
+
- lib/jenksin_pipeline_builder/view.rb
|
285
|
+
- lib/jenksin_pipeline_builder/wrappers.rb
|
286
|
+
- lib/jenksin_pipeline_builder/xml_helper.rb
|
287
|
+
- spec/func_tests/spec_helper.rb
|
288
|
+
- spec/func_tests/view_spec.rb
|
289
|
+
- spec/unit_tests/compiler_spec.rb
|
290
|
+
- spec/unit_tests/fixtures/files/Job-Build-Flow.xml
|
291
|
+
- spec/unit_tests/fixtures/files/Job-Build-Flow.yaml
|
292
|
+
- spec/unit_tests/fixtures/files/Job-Build-Maven.xml
|
293
|
+
- spec/unit_tests/fixtures/files/Job-Build-Maven.yaml
|
294
|
+
- spec/unit_tests/fixtures/files/Job-DSL.yaml
|
295
|
+
- spec/unit_tests/fixtures/files/Job-DSL1.xml
|
296
|
+
- spec/unit_tests/fixtures/files/Job-DSL2.xml
|
297
|
+
- spec/unit_tests/fixtures/files/Job-Gem-Build.xml
|
298
|
+
- spec/unit_tests/fixtures/files/Job-Gem-Build.yaml
|
299
|
+
- spec/unit_tests/fixtures/files/Job-Generate-From-Template.xml
|
300
|
+
- spec/unit_tests/fixtures/files/Job-Generate-From-Template.yaml
|
301
|
+
- spec/unit_tests/fixtures/files/Job-Multi-Project.xml
|
302
|
+
- spec/unit_tests/fixtures/files/Job-Multi-Project.yaml
|
303
|
+
- spec/unit_tests/fixtures/files/project.yaml
|
304
|
+
- spec/unit_tests/generator_spec.rb
|
305
|
+
- spec/unit_tests/module_registry_spec.rb
|
306
|
+
- spec/unit_tests/resolve_dependencies_spec.rb
|
307
|
+
- spec/unit_tests/spec_helper.rb
|
308
|
+
homepage: https://github.com/IgorShare/jenkins_pipeline_builder
|
261
309
|
licenses:
|
262
310
|
- MIT
|
263
311
|
metadata: {}
|
@@ -280,6 +328,27 @@ rubyforge_project:
|
|
280
328
|
rubygems_version: 2.1.11
|
281
329
|
signing_key:
|
282
330
|
specification_version: 4
|
283
|
-
summary: This gem is
|
284
|
-
test_files:
|
331
|
+
summary: This gem is will boostrap your Jenkins pipelines
|
332
|
+
test_files:
|
333
|
+
- spec/func_tests/spec_helper.rb
|
334
|
+
- spec/func_tests/view_spec.rb
|
335
|
+
- spec/unit_tests/compiler_spec.rb
|
336
|
+
- spec/unit_tests/fixtures/files/Job-Build-Flow.xml
|
337
|
+
- spec/unit_tests/fixtures/files/Job-Build-Flow.yaml
|
338
|
+
- spec/unit_tests/fixtures/files/Job-Build-Maven.xml
|
339
|
+
- spec/unit_tests/fixtures/files/Job-Build-Maven.yaml
|
340
|
+
- spec/unit_tests/fixtures/files/Job-DSL.yaml
|
341
|
+
- spec/unit_tests/fixtures/files/Job-DSL1.xml
|
342
|
+
- spec/unit_tests/fixtures/files/Job-DSL2.xml
|
343
|
+
- spec/unit_tests/fixtures/files/Job-Gem-Build.xml
|
344
|
+
- spec/unit_tests/fixtures/files/Job-Gem-Build.yaml
|
345
|
+
- spec/unit_tests/fixtures/files/Job-Generate-From-Template.xml
|
346
|
+
- spec/unit_tests/fixtures/files/Job-Generate-From-Template.yaml
|
347
|
+
- spec/unit_tests/fixtures/files/Job-Multi-Project.xml
|
348
|
+
- spec/unit_tests/fixtures/files/Job-Multi-Project.yaml
|
349
|
+
- spec/unit_tests/fixtures/files/project.yaml
|
350
|
+
- spec/unit_tests/generator_spec.rb
|
351
|
+
- spec/unit_tests/module_registry_spec.rb
|
352
|
+
- spec/unit_tests/resolve_dependencies_spec.rb
|
353
|
+
- spec/unit_tests/spec_helper.rb
|
285
354
|
has_rdoc:
|