jenkins_pipeline_builder 0.10.1 → 0.10.2

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWM0OWI1ZDRjYjQxYWZmYThlYmIxZmY3ODhkNjA1ZDI3MTRhYzYyZA==
4
+ NjdkNzhhMGU3MGUyYmJhMWE4N2Y0MTJlZDFhZjNiNzg0NmQ0ZDA0Mw==
5
5
  data.tar.gz: !binary |-
6
- YzUyNWQyM2NlOWJlMTEzZjQzMzM0ZTAwYzkzNzFlNWI2MDA5ZGEzMg==
6
+ MDdkYTU4ODk2OGU5MTU1MjMwN2ZhZDU3NjU3NWY2YzVhZmM0MDc5Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWU4ODMxYjA0YTMwNWVkODkyNjk2NDA1MjIwNTMxNjg3Yzg2NDY2NTU3M2Q4
10
- ODU2MmQ1ZjJkMmRkMTNjOWQyYWY5YzI1MjY5Y2NhMzg5OWQ4NzEzMTUzZTBh
11
- ODcwOGQ3N2E2MzFjNTIxYzQyZThjYmM3YzI3OGU0ZDdhZmJlYjc=
9
+ NGI2OGRjZDVkZGFiODU0YTlkYWFkZjFmYmNjY2QwZGZhN2MwZWJhOTQwYzQ3
10
+ MDBiNGZhYmQ1NmNmNTlkZjUzNWYyOTAwMjA1MDEzM2Q1YmIzOWRmZGNiMzNh
11
+ OTEzOTk5YjFkZDNkNjM4YjA2M2JiYzNjYWNkMjlkYWM5YmQyNzM=
12
12
  data.tar.gz: !binary |-
13
- MjA1MTMwMTE3MjU1ZTZjNzlmZDMwZmY0Mzc1NzY0OTdjYWVlY2VkZGE3ODgz
14
- NzcwMTY0ZGFmNDVlNWY5NGEwNjY2ZjZjZmMxMTk0Y2YyMWU3OGY5NTk2NTZi
15
- OTdlYjIyMDdjNDA4NWMyYTgzMzhlZmFlOWRmYjAwNWY0ZjYwODg=
13
+ MjczZDM1N2IwNDZhNGQ0OGRkMzQwZTMwYjlmZDc3ZjdlZGVkZjYyYjZmZDkz
14
+ ZDEwODQzZjI3NjY4MDZhYmI4MWIwMGRkZTA5OWY3OTliNWMyNTE0M2Q0OWI1
15
+ ZGRkNDViM2RiYThkOGZmYjJjNTI0YjA0ZDEzMDgxYTg4YjcwMjI=
data/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  out
3
3
  Gemfile.lock
4
4
  *.gem
5
- .DS_Store
5
+ .DS_Store
6
+ .idea
data/README.md CHANGED
@@ -87,273 +87,7 @@ The pipeline builder now suppots json for config and pipeline files instead of o
87
87
  DSL:
88
88
  ----
89
89
 
90
- ## Job DSL
91
- Here's a high level overview of what's available:
92
-
93
- ```yaml
94
- - job:
95
- name: nameStr # Name of your Job
96
- job_type: free_style # Optional [free_style|multi_project|job_dsl|build_flow|pull_request_generator]
97
- concurrent_build: true or false
98
- discard_old: # Discard old builds after:
99
- days: 1 # Optional, number of days after which the build is deleted
100
- number: 2 # Optional, number of builds after which the build is deleted
101
- artifact_days: 3 # Optional, number of days after which the artifact is deleted
102
- artifact_number: 4 # Optional, number of builds after which the artifact is deleted
103
- throttle: # Optional, throttles concurrent jobs
104
- max_per_node: int
105
- max_total: int
106
- option: category or alone
107
- category: string # Only used if option == category
108
- prepare_environment:
109
- properties_content: string
110
- keep_environment: true
111
- keep_build: true
112
- parameters:
113
- - name: param_name
114
- type: string
115
- default: default value
116
- description: text
117
- scm_provider: git # See more info on Jenkins Api Client
118
- scm_url: git@github.com:your_url_here
119
- scm_branch: master
120
- scm_params:
121
- excluded_users: user
122
- local_branch: branch_name
123
- recursive_update: true
124
- wipe_workspace: true
125
- skip_tag: true # Optional, defaults to false
126
- excluded_regions: region
127
- included_regions: region
128
- shell_command: '. commit_build.sh'
129
- inject_env_vars_pre_scm:
130
- file: '${PARENT_WORKSPACE}/{{shared_job_settings_file}}'
131
- promoted_builds:
132
- - 'Stage Promotion'
133
- - 'Prod Promotion'
134
- hipchat:
135
- room: room name here
136
- start-notify: true
137
- priority: # Optional
138
- use_priority: true # true OR false
139
- job_priority: 1 # Default value is -1
140
- builders:
141
- - multi_job:
142
- phases:
143
- "Phase One":
144
- jobs:
145
- - name: first
146
- exposed_scm: true
147
- current_params: true
148
- config:
149
- predefined_build_parameters: |
150
- PARAM_NAME_1: PARAM_VALUE_1
151
- PARAM_NAME_2: PARAM_VALUE_2
152
- - name: second
153
- continue_condition: COMPLETED
154
- "Phase Two":
155
- jobs:
156
- - name: third
157
- - inject_vars_file: build_job_info
158
- - shell_command: |
159
- echo 'Doing some work'
160
- run command1
161
- - maven3:
162
- goals: -B clean
163
- rootPom: path_to_pom
164
- mavenName: maven-name # Optional
165
- - remote_job:
166
- server: 'Name of Server' # Name of the Remote Jenkins Server
167
- job_name: name_of_remote_build
168
- blocking: true # Block current job until remote job finishes
169
- polling_interval: 10 # Optional, number of seconds between polls, defaults to 10
170
- continue_on_remote_failure: false
171
- parameters: # Optional, if both are specified only the file is used
172
- file: 'foo.prop'
173
- content: |
174
- VAR1 = value_1
175
- VAR2 = value_2
176
- credentials: # Optional, if you want to override the server credentials
177
- type: api_token or none
178
- username: name_of_user
179
- api_token: APITOKEN
180
- - blocking_downstream:
181
- project: nameStr
182
- data:
183
- - params: |
184
- param1
185
- param2
186
- trigger_with_no_parameters: false
187
- # Below is Optional, values can be SUCCESS, FAILURE, UNSTABLE, never
188
- fail: FAILURE # Fail this build step if the triggered build is worse or equal to
189
- mark_fail: SUCCESS # Mark this build as failure if the triggered build is worse or equal to
190
- mark_unstable: UNSTABLE # Mark this build as unstable if the triggered build is worse or equal to
191
- - copy_artifact:
192
- project: nameStr # Name of the project
193
- artifacts: 'artifact.txt' # Selector for artifacts
194
- target_directory: 'artifacts' # Where the artifacts should go, blank for Workspace root
195
- filter: 'test=true' # String of filters, PARAM1=VALUE1,PARAM2=VALUE2, Optional
196
- fingerprint: true # Optional, true or false, defaults to true
197
- flatten: false # Optional, true or false, defaults to false
198
- optional: false # Optional, true or false, defaults to false
199
- selector: # Optional
200
- type: status # Defaults to status, options: status, saved, triggered, permalink, specific, workspace, parameter
201
- stable: true # Use if type = 'status', true or false
202
- fallback: true # Use if type = 'triggered', true or false
203
- id: lastBuild # Use if type = 'permalink', options: lastBuild, lastStableBuild, lastSuccessfulBuild, lastFailedBuild, lastUnstableBuild, lastUnsucceessfulBuild
204
- number: '123' # Use if type = 'specific', the number of the build to use
205
- param: 'BUILD_SELECTOR' # Use if type = 'parameter', the build parameter name
206
- wrappers:
207
- - timestamp: true
208
- - ansicolor: true
209
- - artifactory:
210
- url: 'https://url.com/path'
211
- artifactory-name: 'key'
212
- release-repo: release
213
- snapshot-repo: snapshot
214
- publish: 'pkg/*.gem'
215
- publish-build-info: true # Optional
216
- properties: key=value;key2=value2,value2.1
217
- - maven3artifactory:
218
- url: https://artifactory.com/artifactory
219
- artifactory-name: name
220
- release-repo: release
221
- snapshot-repo: snapshot
222
- publish-build-info: true # Optional
223
- - inject_env_var:
224
- file: 'foo.prop'
225
- content: |
226
- VAR1 = value_1
227
- VAR2 = value_2
228
- - inject_passwords:
229
- - name: pwd_name
230
- value: some_encrypted_password
231
- - rvm: "ruby-version@ruby-gemset"
232
- publishers:
233
- - junit_result:
234
- test_results: 'out/**/*.xml'
235
- - git:
236
- push-merge: true
237
- push-only-if-success: false
238
- - hipchat:
239
- jenkinsUrl: 'https://jenkins_url/'
240
- authToken: 'auth_token'
241
- room: 'room name'
242
- - coverage_result:
243
- report_dir: out/coverage/rcov
244
- total:
245
- healthy: 80
246
- unhealthy: 0
247
- unstable: 0
248
- code:
249
- healthy: 80
250
- unhealthy: 0
251
- unstable: 0
252
- - description_setter:
253
- regexp: See the build details at (.*)
254
- description: 'Build Details: <a href="\1">\1</a>'
255
- - downstream:
256
- project: project_name
257
- data:
258
- - params: |
259
- PARAM1=value1
260
- PARAM2=value2
261
- - file: promote-job-params
262
- - archive_artifact:
263
- artifacts: 'artifact.txt' #Artifact include string/pattern
264
- exclude: '' # Optional, exclude string/pattern
265
- latest_only: false # Optional, true or false, defaults to false
266
- allow_empty: false # Optional, true or false, defaults to false
267
- - email_notifications:
268
- recipients: 'test@example.com' # Whitepace-delimited list of recipients
269
- send_if_unstable: false # Optional, default to true
270
- send_to_individuals: true # Optional, default to false
271
- - sonar_result:
272
- branch: 'sonar-results-branch-name'
273
- maven_installation_name: 'name'
274
- triggers:
275
- - git_push: true
276
- - scm_polling: 'H/5 * * * *'
277
- - periodic_build: 'H/15 * * * *'
278
- - upstream: # Trigger this build after another build has completed
279
- projects: project-name-here
280
- status: failed, unstable, stable # Optional, stable by default
281
- build_flow: |
282
- guard {
283
- build("job_name1", param1: params["param1"]);
284
- } rescue {
285
- build("job_name2", param1: build21.environment.get("some_var"))
286
- }
287
- ```
288
-
289
- NOTE: The *promoted_builds* plugin is not fully implemented. This plugin just helps you point to the jobs that you have in order to promote your build.
290
- You need to manually create your promotion rules. Using this plugin will help you regenerate your jobs without breaking your manual promotion jobs.
291
-
292
- ### Enable Blocks
293
- Blocks can be enabled and disabled like so:
294
-
295
- Project.yaml
296
- ```yaml
297
- - defaults:
298
- name: global
299
- description: DB Pipeline tooling
300
- git_repo: git@github.roving.com:devops/DBPipeline.git
301
- git_branch: master
302
- excluded_user: buildmaster
303
- hipchat_room: CD Builds
304
- hipchat_auth_token: f3e98ed54605b36f56dd2c562e3775
305
- discard_days: '30'
306
- discard_number: '100'
307
- maven_name: 'tools-maven-3.0.3'
308
- hipchat_jenkins_url: 'https://cd-jenkins.ad.prodcc.net/'
309
-
310
- - project:
311
- name: 'PushTest'
312
- hipchat_jenkins_url: 'https://cd-jenkins.ad.prodcc.net/'
313
- jobs:
314
- - '{{name}}-build':
315
- use: true
316
- ```
317
-
318
- build.yaml
319
- ```yaml
320
- - job:
321
- name: '{{name}}-build'
322
- project_name: '{{name}}'
323
- builders:
324
- - maven3:
325
- enabled: '{{use}}'
326
- parameters:
327
- rootPom: one
328
- ```
329
-
330
- If use is true, the params are applied to the maven3 block as seen
331
- below:
332
-
333
- build.yaml
334
- ```yaml
335
- - job:
336
- name: '{{name}}-build'
337
- project_name: '{{name}}'
338
- builders:
339
- - maven3:
340
- rootPom: one
341
- ```
342
-
343
- The above two build.yaml files are equivalent (for use: true)
344
-
345
- The block needs to have both an enabled and parameters key, and no other
346
- keys for the enables to work. Also note that this will fail:
347
-
348
- ```yaml
349
- enabled: {{use}}
350
- ```
351
-
352
- While this will work:
353
-
354
- ```yaml
355
- enabled: '{{use}}'
356
- ```
90
+ Please see the [DSL Wiki Page](https://github.com/constantcontact/jenkins_pipeline_builder/wiki/DSL)
357
91
 
358
92
  ### Pull Request Generator
359
93
 
@@ -0,0 +1 @@
1
+ ruby-2.1.2
@@ -0,0 +1,16 @@
1
+ - job:
2
+ name: '{{name}}-Commit'
3
+ scm_url: '{{git_repo}}'
4
+ scm_provider: git
5
+ scm_params:
6
+ excluded_users: jenkins
7
+ local_branch: '{{git_branch}}'
8
+ recursive_update: true
9
+ wipe_workspace: true
10
+ builders:
11
+ - shell_command: |
12
+ sleep 1
13
+ wrappers:
14
+ - timestamp: true
15
+ - ansicolor: true
16
+ - rvm: '{{rvm}}'
@@ -0,0 +1,27 @@
1
+ - job:
2
+ name: '{{name}}-Pipeline'
3
+ description: 'Pipeline'
4
+ job_type: multi_project
5
+ wrappers:
6
+ - timestamp: true
7
+ - ansicolor: true
8
+ - rvm: '{{rvm}}'
9
+ builders:
10
+ - multi_job:
11
+ phases:
12
+ Commit:
13
+ jobs:
14
+ - name: '{{name}}-Commit'
15
+ continue_condition: SUCCESSFUL
16
+ Acceptance:
17
+ jobs:
18
+ - name: '{{name}}-Acceptance'
19
+ continue_condiction: SUCCESSFUL
20
+ Upgrade:
21
+ jobs:
22
+ - name: '{{name}}-Upgrade'
23
+ continue_condiction: SUCCESSFUL
24
+ Release:
25
+ jobs:
26
+ - name: '{{name}}-Release'
27
+ continue_condiction: SUCCESSFUL
@@ -0,0 +1,20 @@
1
+ - job:
2
+ name: '{{name}}-PipelineGenerator'
3
+ description: 'Generator for jobs'
4
+ scm_provider: git
5
+ scm_url: '{{git_repo}}'
6
+ scm_branch: '{{git_branch}}'
7
+ publishers:
8
+ - downstream:
9
+ project: '{{name}}-Pipeline'
10
+ condition: SUCCESS
11
+ builders:
12
+ - shell_command: |
13
+ cd example/pipeline # Change if you use this example as a template
14
+ bundle -v || gem install bundler
15
+ bundle install
16
+ bundle exec generate pipeline bootstrap pipeline/
17
+ wrappers:
18
+ - timestamp: true
19
+ - ansicolor: true
20
+ - rvm: '{{rvm}}'
@@ -0,0 +1,16 @@
1
+ - job:
2
+ name: '{{name}}-Release'
3
+ scm_url: '{{git_repo}}'
4
+ scm_provider: git
5
+ scm_params:
6
+ excluded_users: jenkins
7
+ local_branch: '{{git_branch}}'
8
+ recursive_update: true
9
+ wipe_workspace: true
10
+ builders:
11
+ - shell_command: |
12
+ sleep 60
13
+ wrappers:
14
+ - timestamp: true
15
+ - ansicolor: true
16
+ - rvm: '{{rvm}}'
@@ -0,0 +1,16 @@
1
+ - job:
2
+ name: '{{name}}-Upgrade'
3
+ scm_url: '{{git_repo}}'
4
+ scm_provider: git
5
+ scm_params:
6
+ excluded_users: jenkins
7
+ local_branch: '{{git_branch}}'
8
+ recursive_update: true
9
+ wipe_workspace: true
10
+ builders:
11
+ - shell_command: |
12
+ sleep 1
13
+ wrappers:
14
+ - timestamp: true
15
+ - ansicolor: true
16
+ - rvm: '{{rvm}}'
@@ -0,0 +1,26 @@
1
+ - dependencies:
2
+ - source:
3
+ url: 'https://github.com/constantcontact/jenkins_pipeline_builder/archive/master.tar.gz'
4
+ templates:
5
+ - name: generator-template
6
+ version: 1
7
+ template_root: 'example/templates' # To keep tempaltes in this repo, we specify a folder
8
+
9
+ - defaults:
10
+ name: global
11
+ description: Example Pipeline
12
+ git_repo: git@github.com:constantcontact/jenkins_pipeline_builder.git
13
+ git_branch: master
14
+ discard_days: '30'
15
+ discard_number: '100'
16
+ rvm: '`cat pipeline/.ruby-version`'
17
+
18
+ - project:
19
+ name: 'ExamplePipeline'
20
+ jobs:
21
+ - '{{name}}-PipelineGenerator'
22
+ - '{{name}}-Pipeline'
23
+ - '{{name}}-Commit'
24
+ - '{{name}}-Acceptance' # from template (see dependencies section)
25
+ - '{{name}}-Upgrade'
26
+ - '{{name}}-Release'
@@ -0,0 +1,16 @@
1
+ - job:
2
+ name: '{{name}}-Acceptance'
3
+ scm_url: '{{git_repo}}'
4
+ scm_provider: git
5
+ scm_params:
6
+ excluded_users: jenkins
7
+ local_branch: '{{git_branch}}'
8
+ recursive_update: true
9
+ wipe_workspace: true
10
+ builders:
11
+ - shell_command: |
12
+ sleep 1
13
+ wrappers:
14
+ - timestamp: true
15
+ - ansicolor: true
16
+ - rvm: '{{rvm}}'
@@ -75,7 +75,7 @@ module JenkinsPipelineBuilder
75
75
  if projects.any?
76
76
  errors = publish_project(project_name)
77
77
  else
78
- errors = publish_jobs(jobs)
78
+ errors = publish_jobs(standalone jobs)
79
79
  end
80
80
  errors.each do |k, v|
81
81
  logger.error "Encountered errors compiling: #{k}:"
@@ -125,6 +125,17 @@ module JenkinsPipelineBuilder
125
125
 
126
126
  private
127
127
 
128
+ # Converts standalone jobs to the format that they have when loaded as part of a project.
129
+ # This addresses an issue where #pubish_jobs assumes that each job will be wrapped
130
+ # with in a hash a referenced under a key called :result, which is what happens when
131
+ # it is loaded as part of a project.
132
+ #
133
+ # @return An array of jobs
134
+ #
135
+ def standalone(jobs)
136
+ jobs.map! { |job| { result: job } }
137
+ end
138
+
128
139
  def purge_pull_request_jobs(pull)
129
140
  pull.purge.each do |purge_job|
130
141
  jobs = client.job.list "#{purge_job}.*"
@@ -155,7 +166,7 @@ module JenkinsPipelineBuilder
155
166
  job = @job_collection[job.to_s]
156
167
  pull_job = job if job[:value][:job_type] == 'pull_request_generator'
157
168
  end
158
- fail 'No Pull Request Job Found for Project' unless pull_job
169
+ fail 'No jobs of type pull_request_generator found' unless pull_job
159
170
  pull_job
160
171
  end
161
172
 
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '0.10.1'
24
+ VERSION = '0.10.2'
25
25
  end
@@ -1,5 +1,11 @@
1
1
  require File.expand_path('../spec_helper', __FILE__)
2
2
 
3
+ def cleanup_compiled_xml(job_name)
4
+ Dir["#{job_name}*.xml"].each do |file|
5
+ File.delete(file)
6
+ end
7
+ end
8
+
3
9
  describe JenkinsPipelineBuilder::Generator do
4
10
  after :each do
5
11
  JenkinsPipelineBuilder.registry.clear_versions
@@ -71,38 +77,37 @@ describe JenkinsPipelineBuilder::Generator do
71
77
  allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
72
78
  list_installed: { 'description' => '20.0', 'git' => '20.0' })
73
79
  end
74
- it 'produces no errors while creating pipeline SamplePipeline with view' do
80
+
81
+ def bootstrap(fixture_path, job_name)
75
82
  @generator.debug = true
76
- job_name = 'SamplePipeline'
77
- path = File.expand_path('../fixtures/generator_tests/sample_pipeline', __FILE__)
78
- errors = @generator.bootstrap(path, job_name)
79
- expect(errors.empty?).to be true
80
- Dir["#{job_name}*.xml"].each do |file|
81
- File.delete(file)
82
- end
83
+ errors = @generator.bootstrap(fixture_path, job_name)
84
+ cleanup_compiled_xml(job_name)
85
+ errors
86
+ end
87
+
88
+ def fixture_path(fixture)
89
+ File.expand_path("../fixtures/generator_tests/#{fixture}", __FILE__)
90
+ end
91
+
92
+ it 'produces no errors while creating pipeline SamplePipeline with view' do
93
+ errors = bootstrap(fixture_path('sample_pipeline'), 'SamplePipeline')
94
+ expect(errors).to be_empty
95
+ end
96
+
97
+ it 'produces no errors while creating a single job' do
98
+ errors = bootstrap(fixture_path('sample_pipeline/SamplePipeline-10-Commit.yaml'), 'SamplePipeline-10-Commit')
99
+ expect(errors).to be_empty
83
100
  end
84
101
 
85
102
  it 'produces no errors while creating pipeline TemplatePipeline' do
86
- @generator.debug = true
87
- job_name = 'TemplatePipeline'
88
- path = File.expand_path('../fixtures/generator_tests/template_pipeline', __FILE__)
89
- errors = @generator.bootstrap(path, job_name)
90
- expect(errors.empty?).to be true
91
- Dir["#{job_name}*.xml"].each do |file|
92
- File.delete(file)
93
- end
103
+ errors = bootstrap(fixture_path('template_pipeline'), 'TemplatePipeline')
104
+ expect(errors).to be_empty
94
105
  end
95
106
 
96
107
  it 'loads extensions in remote dependencies' do
97
- @generator.debug = true
98
- job_name = 'TemplatePipeline'
99
- path = File.expand_path('../fixtures/generator_tests/template_pipeline', __FILE__)
100
- errors = @generator.bootstrap(path, job_name)
101
- expect(errors.empty?).to be true
108
+ errors = bootstrap(fixture_path('template_pipeline'), 'TemplatePipeline')
109
+ expect(errors).to be_empty
102
110
  expect(@generator.module_registry.registry[:job][:wrappers].keys).to include :test_wrapper
103
- Dir["#{job_name}*.xml"].each do |file|
104
- File.delete(file)
105
- end
106
111
  @generator.module_registry.registry[:job][:wrappers].delete(:test_wrapper)
107
112
  end
108
113
  # Things to check for:
@@ -155,9 +160,7 @@ describe JenkinsPipelineBuilder::Generator do
155
160
  )
156
161
  success = @generator.pull_request(path, job_name)
157
162
  expect(success).to be_truthy
158
- Dir["#{job_name}*.xml"].each do |file|
159
- File.delete(file)
160
- end
163
+ cleanup_compiled_xml(job_name)
161
164
  end
162
165
  # Things to check for
163
166
  # Fail - no PR job type found
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.10.1
4
+ version: 0.10.2
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-01-07 00:00:00.000000000 Z
12
+ date: 2015-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -333,6 +333,14 @@ files:
333
333
  - bin/generate
334
334
  - commit_build.sh
335
335
  - config/login.yml
336
+ - example/pipeline/.ruby-version
337
+ - example/pipeline/Example-Commit.yaml
338
+ - example/pipeline/Example-Pipeline.yaml
339
+ - example/pipeline/Example-PipelineGenerator.yaml
340
+ - example/pipeline/Example-Release.yaml
341
+ - example/pipeline/Example-Upgrade.yaml
342
+ - example/pipeline/project.yaml
343
+ - example/templates/job-template/1/Acceptance.yaml
336
344
  - jenkins_pipeline_builder.gemspec
337
345
  - lib/jenkins_pipeline_builder.rb
338
346
  - lib/jenkins_pipeline_builder/cli/base.rb