pipeline-as-code mit jenkins pipeline - doag.org · jenkins pipeline dsl ... * oss supported via...
TRANSCRIPT
![Page 1: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/1.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Pipeline-as-Code mit Jenkins Pipeline
Bernhard CyganSenior Solution ArchitectCloudBees
![Page 2: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/2.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
CloudBees
- die Enterprise Jenkins Company
- 2010 gegründet von Sacha Labourey
- seit Ende 2014 ausschließlich Jenkins
- viele Jenkins-Entwickler sind Mitarbeiter
![Page 3: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/3.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
CloudBees
- zwei Releases pro Jahr, basierend auf Jenkins LTS
- Support mit SLA für Jenkins, inklusive OSS
- Ausrichtung Jenkins User Conference
- Professional Services
- Training
- Certified Jenkins Engineer
- Certified CloudBees Jenkins Platform Engineer
![Page 4: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/4.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Relevante Features für Pipeline-as-Code
● Jenkins Pipeline DSL
● Jenkinsfile
● Multi-Branch Support
● Repository Scanning
![Page 5: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/5.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Jenkins Pipeline DSL
● Bis vor kurzem noch Jenkins Workflow
● Pipeline Jobs können im SCM liegen
○ Git, Mercurial, Subversion
● Pipeline Jobs können in der IDE editiert werden
● Syntax Coloring support
● Pipeline Jobs übernehmen Änderungen automatisch
● automatische Versionierung für Pipeline Jobs
![Page 6: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/6.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Pipeline-as-Code - Jenkinsfile
● Build Pipeline Job dort definieren, wo auch der Source Code
steht.
● Feature Branches auch für Pipelines
![Page 7: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/7.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Multi-Branch-Support
● Nicht mehr für jeden Branch einen eigenen Job anlegen
● Nur noch die Root-Url des SCMs eintragen
![Page 8: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/8.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Repository Scanning
● Ab der Root-URL des SCMs wird periodisch gescannt
● Folder und Jobs können automatisch angelegt werden
● Folder und Jobs können gelöscht oder aufgehoben werden
![Page 9: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/9.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Pipeline-as-Code Multi-Branch
Master
Feature Branch 1
Feature Branch 2
Master Pipeline Job
FB 1 Pipeline Job
FB 2 Pipeline Job
![Page 10: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/10.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Organizational Folders
● Bei Anlegen eines neuen Repositories mit Jenkinsfile wird
automatisch ein Multibranch Pipeline Project angelegt
● Folder und Jobs können automatisch gelöscht oder
aufbewahrt werden
![Page 11: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/11.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Pipeline-as-Code Organization Folders
![Page 12: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/12.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Pipeline-as-Code Support
Enterprise Cloud ServerWorkflow
Multibranch Jobs
OSS OSS CJPOSS* OSS*
Pull Requests CJP CJP CJP CJP
Organization Folders OSS OSS CJP CJP
* OSS supported via GIT or Mercurial plugin. CJP features optimized to use APIs.
![Page 13: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/13.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
OSS - Pipeline-as-Code Organization Folders (GitHub)
● Jenkins Folder ⇔ GitHub Organization
○ die gesamte Pipeline im Jenkinsfile definieren
○ Pipeline Job automatisch generieren für jedes Repository, das ein
Jenkinsfile enthält
○ Pipeline Job automatisch erzeugen für jeden Branch, der ein Jenkinsfile
enthält
![Page 14: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/14.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
CJP - Pipeline-as-Code Pull Request Branches
● Pull Requests = New Branch
○ die gesamte Build Pipeline im Jenkinsfile definieren
○ automatisch einen Pipeline Job anlegen für Pull Requests, die ein
Jenkinsfile beinhalten
○ Build Ergebnisse an das SCM zurückmelden
○ automatisch Jobs löschen für Merged Pull Requests
○ unterstützt:
■ GitHub
■ GitHub Enterprise
■ BitBucket Git
■ BitBucket Mercurial
![Page 15: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/15.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
Noch Fragen ?
![Page 16: Pipeline-as-Code mit Jenkins Pipeline - doag.org · Jenkins Pipeline DSL ... * OSS supported via GIT or Mercurial plugin. ... automatisch einen Pipeline Job anlegen für Pull Requests,](https://reader031.vdocuments.site/reader031/viewer/2022022018/5b89bf767f8b9a655f8cd844/html5/thumbnails/16.jpg)
© 2
015
Clo
ud
Bee
s, In
c. A
ll R
igh
ts R
eser
ved
PointersPipeline DSL DZone Reference Card
https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow
Dokumentation für Pipeline-as-Code
http://documentation.cloudbees.com/docs/cookbook/pipeline-as-code.html
Blog Artikel über Pipeline-as-Code mit Multi-Branch Support
https://jenkins-ci.org/blog/2015/12/03/pipeline-as-code-with-multibranch-
workflows-in-jenkins/