Pipeline ProjectΒΆ
The Pipeline Project module handles creating Jenkins Pipeline projects
(formerly known as the Workflow projects).
You may specify pipeline
in the project-type
attribute of
the Job definition.
Requires the Jenkins Pipeline Plugin:
In order to write an inline script within a job-template you have to escape the curly braces by doubling them in the DSL: { -> {{ , otherwise it will be interpreted by the python str.format() command.
Job Parameters: |
|
---|
Note that dsl
and pipeline-scm
parameters are mutually exclusive.
Inline DSL job example:
- job: name: test_job project-type: pipeline dsl: | build job: "job1" parallel [ 2a: build job: "job2a", 2b: node "dummynode" { sh "echo I'm alive!" } ]
Inline DSL job template example:
- job-template: name: '{name}-unit-tests' project-type: pipeline dsl: | build job: "job1" parallel [ 2a: build job: "job2a", 2b: node "dummynode" {{ sh "echo {isay}" }} ] - job-group: name: '{name}-tests' jobs: - '{name}-unit-tests': isay: 'hello' - project: name: project-name jobs: - '{name}-tests'
“Pipeline as code” example:
- job: name: test-job project-type: pipeline sandbox: true pipeline-scm: scm: - hg: url: http://hg.example.org/test_job clean: true script-path: Jenkinsfile.groovy
“Pipeline as code” example using templates:
- scm: name: project-scm scm: - hg: url: http://hg.example.org/project clean: true - job-template: name: '{name}-unit-tests' project-type: pipeline pipeline-scm: scm: - project-scm sandbox: true publishers: - email: recipients: '{mail-to}' - job-template: name: '{name}-perf-tests' project-type: pipeline pipeline-scm: scm: - project-scm sandbox: false publishers: - email: recipients: '{mail-to}' - job-group: name: '{name}-tests' jobs: - '{name}-unit-tests': mail-to: dev@example.org - '{name}-perf-tests': mail-to: qa@example.org - project: name: project-name jobs: - '{name}-tests'