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

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 was designed to verify your qualifications in configuring and managing Jenkins jobs, pipelines, and cluster environments. Whether you are a seasoned Jenkins user or someone who wants to deeply learn the most important aspects of Jenkins, then this course is for you.

This practical course is designed to walk you through all the topics covered in the exam to fully prepare to pass the certification exam. The trainer and CJE, Benjamin Muschko, will also share his personal experience with preparing for all aspects of the exam.

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

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

  • Objectives and abilities needed to pass the CJE exam
  • Understand Jenkins concepts and how to apply them to solve different use cases
  • Learn about administration features like user management & permissions, distributed builds and 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 to perform the responsibilities of 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...

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

Prerequisites

  • Experience with a Continuous Integration product (optimally Jenkins)
  • Familiarity with Continuous Integration and/or Continuous Delivery concepts
  • Understanding of developer workflows (e.g., compilation, testing, packaging of binaries) and tooling (e.g., SCM)
  • Basic familiarity with the Groovy language will be helpful, but is not required

Recommended preparation:

  • Attendees will need access to a Jenkins instance, either local or remote. We will walk through the installation process during the class, but please download all relevant binaries for your OS in advance. Please reference the Jenkins user documentation.
  • Git installed on the local machine
  • A free account on GitHub (optional, but recommended so you can pursue the exercises that use GitHub as a source code repository)
  • Install JDK 8 or higher (optional, but recommended so you can pursue the Java-based exercises)
  • Install Vagrant and VirtualBox (optional, but recommended so you can pursue the distributed builds exercise)

Recommended follow-up:

About your instructor

  • Benjamin Muschko is a software engineer, and a consultant and trainer with over 15 years of experience in the industry. He’s passionate about project automation, testing and Continuous Delivery. Ben is the author of Gradle in Action (Manning). He is a frequent speaker at conferences and is an avid Open Source advocate.

Schedule

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

Day 1 (210 mins)

Exam Details and Resources (30 mins)

  • Presentation: Introduction to the Course (5 mins)
  • Presentation: Objectives and Curriculum (5 mins)
  • Presentation: Candidate Skills and Exam Environments (5 mins)
  • Presentation: Preparing for the Exam (5 mins)
  • Q&A (5 mins)

Key CI/CD/Jenkins Concepts and their Usage: Terminology and Installation (35 mins)

  • Presentation: Continuous Integration vs. Continuous Delivery vs. Continuous Deployment (10 mins)
  • Presentation: Installing and Configuring Jenkins (10 mins)
  • Exercise: Installing Jenkins and Exploring the Dashboard (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Jobs, Builds and SCM Configuration (65 mins)

  • Presentation: Defining Jobs (10 mins)
  • Exercise: Defining, Configuring and Organizing a Job (10 mins)
  • Presentation: Understanding and Configuring a Build (10 mins)
  • Exercise: Configuring Build Triggers and Steps for a Job (10 mins)
  • Presentation: Using and Configuring Source Code Management (10 mins)
  • Exercise: Configuring a GitHub SCM (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Testing, Notifications and Artifacts (65 mins)

  • Presentation: Test Execution and Reporting (10 mins)
  • Exercise: Displaying JUnit and JaCoCo Test Results (10 mins)
  • Presentation: Defining and Triggering Notifications (10 mins)
  • Exercise: Notifying the Team Upon a Broken Build (10 mins)
  • Presentation: Creating and Archiving Artifacts (10 mins)
  • Exercise: Storing and Fingerprinting Artifacts (10 mins)
  • Q&A (5 mins)

Day 2 (240 mins)

Jenkins Administration (80 mins)

  • Presentation: Managing Security (15 mins)
  • Exercise: Creating a User and Setting Permissions (10 mins)
  • Presentation: Using the Jenkins REST API (15 mins)
  • Exercise: Using the REST API for Common Operations (10 mins)
  • Presentation: Distributed Builds (15 mins)
  • Exercise: Configuring and Executing Jobs in a Distributed Build (10 mins)
  • Q&A (5 mins)
  • Break (5 mins)

Building Continuous Delivery (CD) Pipelines (115 mins)

  • Presentation: Pipeline Concepts (10 mins)
  • Presentation: Pipelines in Jenkins (10 mins)
  • Exercise: Creating a Pipeline Job (10 mins)
  • Presentation: Essential Declarative Pipeline Syntax (15 mins)
  • Exercise: Writing a Basic Jenkinsfile (10 mins)
  • Presentation: Advanced Pipeline Features (15 mins)
  • Exercise: Enhancing a Pipeline with Advanced Features (10 mins)
  • Presentation: Writing and Using Pipeline Global Libraries (20 mins)
  • Exercise: Writing and Using a Global Library (10 mins)
  • Q&A (5 mins)
  • Break (10 mins)

CD-as-Code Best Practices (35 mins)

  • Presentation: Distributed Build Architecture (10 mins)
  • Presentation: Fungible (replaceable) Agents (10 mins)
  • Presentation: High Availability & Traceability (10 mins)
  • Q&A (5 mins)