O'Reilly logo
live online training icon Live Online training

Certified Jenkins Engineer (CJE) crash course

In-depth and hands-on practice for acing the exam

Topic: System Administration
Benjamin Muschko

CloudBees, the company behind the automation server Jenkins, is a major player in the continuous integration and continuous delivery space. The Certified Jenkins Engineer (CJE) certification proves your qualifications in configuring and managing Jenkins jobs, pipelines, and cluster environments.

Join expert Benjamin Muschko to walk through all the topics you need to understand to pass the CJE exam. Benjamin will also share his personal experience preparing for all aspects of the exam. Whether you want to learn the most important aspects of Jenkins or are already a seasoned Jenkins user and need to prove your qualifications, this course is for you.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • The objectives and abilities needed to pass the CJE exam
  • Key Jenkins concepts and how to apply them to solve different use cases
  • Administration features like user management and permissions, distributed builds, and the remote access API
  • How to model a continuous delivery pipeline with Jenkins
  • How to set up Jenkins for scalability, maintainability, and security by applying best practices

And you’ll be able to:

  • Demonstrate competency in performing the responsibilities of a Jenkins engineer
  • Apply CI/CD principles and practices in your own projects
  • Effectively navigate and solve questions during the CJE exam

This training course is for you because...

This course is for you because…

  • You’re a developer who wants to create, configure, and manage your own CI/CD jobs and/or pipelines.
  • You’re a Jenkins administrator who needs to understand how to manage Jenkins instances on an enterprise level.
  • You’re a QA tester who wants to run tests in an automated fashion.
  • You want to become a Certified Jenkins Engineer.

Prerequisites

Prerequisites:

  • Experience with a continuous integration product (preferably Jenkins)
  • Familiarity with continuous integration and/or continuous delivery concepts
  • A basic understanding of developer workflows (e.g., compilation, testing, packaging of binaries) and tooling (e.g., SCM)
  • A working knowledge of the Groovy language (useful but not required)
  • A machine with Git, Vagrant and VirtualBox (optional), and JDK 8 or higher (optional) installed
  • Access to a Jenkins instance, either local or remote (You’ll walk through the installation process during the course, but please download all relevant binaries for your OS in advance—reference the Jenkins user documentation.)
  • A free account on GitHub (optional)

Recommended follow-up:

About your instructor

  • Benjamin Muschko is a software engineer, consultant, and trainer with over 15 years of experience in the industry. An avid open source advocate, he’s passionate about project automation, testing, and continuous delivery. Ben is the author of Gradle in Action (Manning) and is a frequent speaker at conferences.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Day 1

Exam details and resources (30 minutes)

  • Group discussion: What’s your main learning objective?
  • Lecture: Objectives and curriculum; candidate skills and exam environments; preparing for the exam
  • Q&A

Key CI/CD and Jenkins concepts and their usage: Terminology and installation (35 minutes)

  • Lecture: Continuous integration versus continuous delivery versus continuous deployment; installing and configuring Jenkins
  • Hands-on exercise: Install Jenkins and explore the dashboard
  • Q&A

Break (10 minutes)

Jobs, builds, and SCM configuration (65 minutes)

  • Lecture: Defining jobs; understanding and configuring a build; using and configuring source code management
  • Hands-on exercises: Define, configure, and organize a job; configure build triggers and steps for a job; configure a GitHub SCM
  • Q&A

Break (10 minutes)

Testing, notifications, and artifacts (65 minutes)

  • Lecture: Test execution and reporting; defining and triggering notifications; creating and archiving artifacts
  • Hands-on exercises: Display JUnit and JaCoCo test results; notify the team upon a broken build; store and fingerprint artifacts

Wrap-up and Q&A (25 minutes)

Day 2

Jenkins administration (80 minutes)

  • Lecture: Managing security; using the Jenkins REST API; distributed builds
  • Hands-on exercises: Create a user and set permissions; use the REST API for common operations; configure and execute jobs in a distributed build
  • Q&A

Break (5 minutes)

Building continuous delivery (CD) pipelines (115 minutes)

  • Lecture: Pipeline concepts; pipelines in Jenkins; essential declarative pipeline syntax; advanced pipeline features; writing and using pipeline global libraries
  • Hands-on exercises: Create a pipeline job; write a basic Jenkinsfile; enhance a pipeline with advanced features; write and use a global library
  • Q&A

Break (5 minutes)

CD-as-code best practices (35 minutes)

  • Lecture: Distributed build architecture; fungible (replaceable) agents; high availability and traceability