jenkins_pipeline_builder 0.13.3 → 0.13.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 +8 -8
- data/lib/jenkins_pipeline_builder.rb +4 -4
- data/lib/jenkins_pipeline_builder/generator.rb +8 -3
- data/lib/jenkins_pipeline_builder/job_collection.rb +4 -0
- data/lib/jenkins_pipeline_builder/version.rb +1 -1
- data/spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-10-Commit.yaml +3 -0
- data/spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-20-Acceptance.yaml +3 -0
- data/spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-30-Release.yaml +3 -0
- data/spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/project.yaml +28 -0
- data/spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/view.yaml +5 -0
- data/spec/lib/jenkins_pipeline_builder/generator_spec.rb +7 -0
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmI1MTFmZmVkYmNkODgyMGYzNmZjYjFhMmUxZmFlZjkwYzU1MGNkYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ODFhNzAzMjA0ODI5Mjg1MTI0YjMwZDgyMDk2YmM5MmJmYjlhOWYyOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTE1NjRhYWUyZGRjMDBiNTE0NWFlY2U1NDI0Y2YwMjI5NTU3NDAwMTI5MDlj
|
10
|
+
M2Q1NWM4Njc0YzljNDUwNjgyODQ1ZGZhMjY4ZjcwNTQxOWFhZGQxM2EyZWEx
|
11
|
+
ZDFkMjk0NTkyZTlmY2FhMzU5Y2M0ODEwYzMyNjczMTMzOTA2Mjk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NWI0YjJhMjU2ZjUzZWNhZDdjZTk5OTU3NjE2NmQxYmRmNTZjNjdhMzJjZDYy
|
14
|
+
NTZkMDc1YjRjNjhkMTNkNmQ3YjJkNjFkNGU4MDkxNjMxNTUwNGEwYzVlYmY4
|
15
|
+
NWEwNmEwMTZhNGExZjJjZWIxM2FhMDk3ZGU5MGYwYmI4OTUxYTc=
|
@@ -37,6 +37,7 @@ require 'jenkins_pipeline_builder/generator'
|
|
37
37
|
module JenkinsPipelineBuilder
|
38
38
|
class << self
|
39
39
|
attr_reader :client, :credentials, :debug, :file_mode
|
40
|
+
attr_writer :logger
|
40
41
|
def generator
|
41
42
|
@_generator ||= Generator.new
|
42
43
|
end
|
@@ -51,23 +52,22 @@ module JenkinsPipelineBuilder
|
|
51
52
|
|
52
53
|
def debug!
|
53
54
|
@debug = true
|
54
|
-
|
55
|
+
logger.level = Logger::DEBUG
|
55
56
|
end
|
56
57
|
|
57
58
|
def no_debug!
|
58
59
|
@debug = false
|
59
|
-
|
60
|
+
logger.level = Logger::INFO
|
60
61
|
end
|
61
62
|
|
62
63
|
def credentials=(creds)
|
63
64
|
@credentials = creds
|
64
65
|
@client = JenkinsApi::Client.new(credentials)
|
65
|
-
generator.logger = @client.logger
|
66
66
|
@credentials
|
67
67
|
end
|
68
68
|
|
69
69
|
def logger
|
70
|
-
client.logger
|
70
|
+
@logger ||= client ? client.logger : Logger.new(STDOUT)
|
71
71
|
end
|
72
72
|
|
73
73
|
def registry
|
@@ -24,7 +24,7 @@ require 'json'
|
|
24
24
|
|
25
25
|
module JenkinsPipelineBuilder
|
26
26
|
class Generator
|
27
|
-
attr_accessor :no_files, :job_templates, :
|
27
|
+
attr_accessor :no_files, :job_templates, :module_registry, :job_collection
|
28
28
|
|
29
29
|
def initialize
|
30
30
|
@job_templates = {}
|
@@ -45,15 +45,20 @@ module JenkinsPipelineBuilder
|
|
45
45
|
JenkinsPipelineBuilder::View.new(self)
|
46
46
|
end
|
47
47
|
|
48
|
+
def projects(path)
|
49
|
+
load_job_collection path unless job_collection.loaded?
|
50
|
+
job_collection.projects.map { |p| p[:name] }
|
51
|
+
end
|
52
|
+
|
48
53
|
def bootstrap(path, project_name = nil)
|
49
54
|
logger.info "Bootstrapping pipeline from path #{path}"
|
50
|
-
load_job_collection path
|
55
|
+
load_job_collection path unless job_collection.loaded?
|
51
56
|
publish(project_name || job_collection.projects.first[:name])
|
52
57
|
end
|
53
58
|
|
54
59
|
def pull_request(path, project_name)
|
55
60
|
logger.info "Pull Request Generator Running from path #{path}"
|
56
|
-
load_job_collection path
|
61
|
+
load_job_collection path unless job_collection.loaded?
|
57
62
|
defaults = job_collection.defaults[:value]
|
58
63
|
pr_generator = PullRequestGenerator.new defaults
|
59
64
|
pr_generator.delete_closed_prs
|
@@ -1,10 +1,13 @@
|
|
1
1
|
module JenkinsPipelineBuilder
|
2
2
|
class JobCollection
|
3
3
|
attr_accessor :collection, :remote_dependencies
|
4
|
+
attr_reader :loaded
|
5
|
+
alias_method :loaded?, :loaded
|
4
6
|
|
5
7
|
def initialize
|
6
8
|
@collection = {}
|
7
9
|
@remote_dependencies = RemoteDependencies.new self
|
10
|
+
@loaded = false
|
8
11
|
end
|
9
12
|
|
10
13
|
def clear_remote_dependencies
|
@@ -61,6 +64,7 @@ module JenkinsPipelineBuilder
|
|
61
64
|
else
|
62
65
|
load_file(path, remote)
|
63
66
|
end
|
67
|
+
@loaded = true
|
64
68
|
end
|
65
69
|
|
66
70
|
private
|
@@ -0,0 +1,28 @@
|
|
1
|
+
- defaults:
|
2
|
+
name: global
|
3
|
+
description: 'Test pipeline for generator_spec.rb'
|
4
|
+
|
5
|
+
- project:
|
6
|
+
name: SamplePipeline1
|
7
|
+
jobs:
|
8
|
+
- '{{name}}-10-Commit'
|
9
|
+
- '{{name}}-20-Acceptance'
|
10
|
+
- '{{name}}-30-Release'
|
11
|
+
views:
|
12
|
+
- '{{name}} View'
|
13
|
+
- project:
|
14
|
+
name: SamplePipeline2
|
15
|
+
jobs:
|
16
|
+
- '{{name}}-10-Commit'
|
17
|
+
- '{{name}}-20-Acceptance'
|
18
|
+
- '{{name}}-30-Release'
|
19
|
+
views:
|
20
|
+
- '{{name}} View'
|
21
|
+
- project:
|
22
|
+
name: SamplePipeline3
|
23
|
+
jobs:
|
24
|
+
- '{{name}}-10-Commit'
|
25
|
+
- '{{name}}-20-Acceptance'
|
26
|
+
- '{{name}}-30-Release'
|
27
|
+
views:
|
28
|
+
- '{{name}} View'
|
@@ -231,6 +231,13 @@ describe JenkinsPipelineBuilder::Generator do
|
|
231
231
|
end
|
232
232
|
end
|
233
233
|
|
234
|
+
describe '#projects' do
|
235
|
+
it 'returns a list of projects' do
|
236
|
+
path = File.expand_path('../fixtures/generator_tests/multi_project', __FILE__)
|
237
|
+
expect(@generator.projects path).to eq %w(SamplePipeline1 SamplePipeline2 SamplePipeline3)
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
234
241
|
describe '#file_mode' do
|
235
242
|
before :each do
|
236
243
|
allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
|
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.13.
|
4
|
+
version: 0.13.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Moochnick
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-12-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -395,6 +395,11 @@ files:
|
|
395
395
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/10.yaml
|
396
396
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/jobs.tar.gz
|
397
397
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/project.yaml
|
398
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-10-Commit.yaml
|
399
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-20-Acceptance.yaml
|
400
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-30-Release.yaml
|
401
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/project.yaml
|
402
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/view.yaml
|
398
403
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml
|
399
404
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-40-PullRequestGenerator.yaml
|
400
405
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/project.yaml
|
@@ -472,6 +477,11 @@ test_files:
|
|
472
477
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/10.yaml
|
473
478
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/jobs.tar.gz
|
474
479
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/local_override/remote_and_local/project.yaml
|
480
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-10-Commit.yaml
|
481
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-20-Acceptance.yaml
|
482
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/SamplePipeline-30-Release.yaml
|
483
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/project.yaml
|
484
|
+
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/multi_project/view.yaml
|
475
485
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml
|
476
486
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-40-PullRequestGenerator.yaml
|
477
487
|
- spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/project.yaml
|