agenda • introduction into Jenkins (Pipeline) • Jenkins basic information • scaling a build infrastructure • pipelines • why should we use pipelines • pipeline advantages • syntax • best practises • demo 3
9 »Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.« Martin Fowler, Chief Scientist, ThoughtWorks
continuous integration 10 • code in scm • check-in and push at least daily • automated compiling, testing, integrating and building • reporting and code analysis • deploy to integration environment
12 »continuous delivery is the ability to get changes of all types–including new features, configuration changes, bug fixes and experiments–into production, or into the hands of users, safely and quickly in a sustainable way.« Jez Humble, continuousdelivery.com
13 »continuous delivery is the ability to get changes of all types–including new features, configuration changes, bug fixes and experiments–into production, or into the hands of users, safely and quickly in a sustainable way.« Jez Humble, continuousdelivery.com
14 »continuous delivery is the ability to get changes of all types–including new features, configuration changes, bug fixes and experiments–into production, or into the hands of users, safely and quickly in a sustainable way.« Jez Humble, continuousdelivery.com
15 »continuous delivery is the ability to get changes of all types–including new features, configuration changes, bug fixes and experiments–into production, or into the hands of users, safely and quickly in a sustainable way.« Jez Humble, continuousdelivery.com
scaling a build infrastructure 19 jobs = number of developers * 3.333 masters = number of jobs/500 executors = number of jobs * 0.03 Source: https://jenkins.io/doc/book/architecting-for-scale/
advantages • can be reviewed, forked, iterated upon and audited • running pipelines survive master restart • can stop and wait for human input • support complex CI/CD requirements • DSL can be extended through shared libraries 23
show case – Blue Ocean • sophisticated visualizations of continuous delivery (CD) Pipelines, allowing for fast and intuitive comprehension of pipeline’s status. • pipeline editor makes creation of Pipelines approachable by guiding the user through an intuitive and visual process to create a Pipeline. • personalization to suit the role-based needs of each member of the team. • pinpoint precision when intervention is needed and/or issues arise. Blue Ocean shows where in the pipeline attention is needed • native integration for branch and pull requests enables maximum developer productivity when collaborating on code with others in GitHub and Bitbucket. 31