Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Building a deployment pipeline with Jenkins 2.0

Brent Laster (SAS)
1:30pm5:00pm Monday, May 8, 2017
Infrastructure
Location: Meeting Room 9
Level: Intermediate
Average rating: ***..
(3.38, 13 ratings)

Who is this presentation for?

  • Anyone who does continuous delivery and wants to automate it with Jenkins

Prerequisite knowledge

  • A basic working knowledge of core development concepts, such as source management, builds, and unit tests
  • Experience with Git (useful but not required)
  • No prior knowledge of Jenkins or other technologies required or assumed

Materials or downloads needed in advance

  • Select a laptop with at least 12 GB of disk space and at least 8 GB of memory available (more is better). You should also have administrative permissions.
  • If not already installed, install Virtualbox. Ensure that Virtualbox runs smoothly and has network access.
  • Download this virtual machine image for the course AHEAD of the conference.
  • If you do not already have a GitHub account, sign up for a free.
  • Follow these setup instructions to complete the setup.

What you'll learn

  • Understand how to use Jenkins 2.0
  • Learn how to create a simple multistage deployment pipeline (managed and automated through Jenkins) that implements principles of continuous integration and continuous delivery
  • Discover how to integrate Jenkins with other open source technologies, such as Git

Description

Brent Laster offers a brief, practical introduction to Jenkins as well as a guide to leveraging its automation and integration with other open source technologies to create a simple, working build/deployment pipeline that implements principles of continuous integration and continuous delivery.

Brent focuses on exploring Jenkins’s workflow and plug-in model but also illustrates how to easily integrate Jenkins with other open source technologies, such as Git, as he walks you through building a simple multistage deployment pipeline (managed and automated through Jenkins) that implements principles of continuous integration and continuous delivery.

Topics include:

  • Continuous delivery and deployment pipelines core concepts
  • A brief introduction to Jenkins 2.0 and pipelines
  • Jenkins nodes
  • A brief overview of Git and Gradle
  • Global tools and the pipeline
  • DSL syntax and the snippet generator
  • Shared pipeline libraries
  • Running operations in parallel
  • Using credentials with a pipeline script
  • Leveraging sourcesets
  • Integrating with SonarQube
  • Pipeline flow control
  • Integrating with Jacoco
  • Remotely loading code
  • Integrating with Artifactory
  • Integrating with Docker
Photo of Brent Laster

Brent Laster

SAS

Brent Laster is a global trainer, presenter, and author. In his day job, he is a senior manager of software development in SAS’s Research and Development Division, based in Cary, North Carolina, where he manages several groups involved with release engineering processes and internal tooling. He also serves as a resource for the use of open source technologies and conducts internal training classes in technologies such as Git, Gerrit, Gradle, and Jenkins, both in the US and abroad. In addition to corporate training, Brent creates and presents workshops for a wide variety of technical conferences. His workshops and informational sessions on open source technologies (and how to apply them) have been presented at such conferences as the Rich Web Experience/Continuous Delivery Experience, UberConf, OSCON, and others. Brent is the author of Professional Git from WROX (forthcoming) and is a contributor to publications such as the No Fluff, Just Stuff magazine. Brent also conducts live web training from time to time. Brent’s passion is teaching and doing so in a way that makes difficult concepts relatable to all. He has been involved in technical training for over 25 years and continues to seek out ways to show others how technology can be used to simplify and automate. You can learn more about Brent and his work on LinkedIn or find him on Twitter at @BrentCLaster.

Comments on this page are now closed.

Comments

Picture of Brent Laster
Brent Laster | SENIOR MANAGER, R&D
05/10/2017 11:03am CDT

Hi everyone, thanks for your attendance at the session. A copy of the slides is now available at the link at the top of this page. Thanks.

Laurence Blanchette | PROJECT MARKETING MANAGER
05/09/2017 11:53am CDT

Hi Justin. We’ll be posting speaker slides as we get them (oscon.com/slides); however, keep in mind not all speakers choose to make their slides available for download.

Picture of Justin Martenstein
Justin Martenstein | BUILD ENGINEER
05/09/2017 11:14am CDT

Are the slides posted somewhere?

Picture of Brent Laster
Brent Laster | SENIOR MANAGER, R&D
05/08/2017 4:57am CDT

Hi all, I’ve added a couple of bonus labs at https://github.com/brentlaster/conf/raw/master/oscon2017/cdpj2-bonus.pdf

These are labs that I don’t expect we will have time to get to in the session, but you may find them useful to do afterwards. I’ll explain more at the session.

Picture of Brent Laster
Brent Laster | SENIOR MANAGER, R&D
05/08/2017 3:45am CDT

Hi George, I will have USB drives with the image on it for you to copy at the session.

George Wood | IT ENGINEER, STAFF
05/08/2017 2:27am CDT

I cannot download the .ova file – it would not complete in 3 attempts.

Picture of Brent Laster
Brent Laster | SENIOR MANAGER, R&D
05/04/2017 3:39pm CDT

Thank you David for noting that. I’ve updated the doc so the link is not wrapped.

Picture of David Hancock
David Hancock | MANAGER
05/02/2017 9:54am CDT

The lab-exercises link in the setup PDF file broke across a line. Here it is reassembled:

https://github.com/brentlaster/conf/blob/master/oscon2017/cdpj2-class-labs.pdf