In this post, we are joined once again passionate DevOps Engineer, Vladimir Mukhin. Here Vladimir talks about his journey in becoming a Certified DevOps Engineer and the process he went through. Check it out below…
This September, I became a Certified Jenkins Engineer. To help you decide if this certification is for you, let me walk through what I did.
What is it?
Jenkins is the leading open source automation server that provides hundreds of plugins to support building, deploying and automating any project. It’s very easy to install and it can be used not only as a build and integration server, but essentially for any automation task. This has made it the most popular CI/CD tool in the world.
The Certified Jenkins Engineer exam is a way to verify your knowledge, skills and experience as a Jenkins professional. Passing the exam and earning certification means you have a proven level of proficiency.
Who should take it?
Any IT professional who understands DevOps best practices and uses the Jenkins features to implement CI/CD.
How long is it?
It is 90 minutes long and consists of 60 questions. Even though 1.5 minutes per question seemed fast-paced, I ended up having 40 minutes to spare. I had time to review my answers.
What topics are covered?
- Freestyle jobs. Even though the pipeline is now the way to go, there were still a lot of questions related to the details of freestyle jobs.
- Key CI/CD concepts. Theoretical aspects of CI/CD, including identifying the border between Continuous Integration and Continuous Delivery, the difference between Continuous Delivery and Continuous Deployment, the types of tests, and source code management concepts.
- Installation and Configuration. The installation process, installation wizard, the basic items in the “Configure Jenkins” menu.
- Builds and Jobs. How to configure pipelines, the elements of a Jenkinsfile (stages, steps, nodes, and labels), parameterized jobs, triggering both regular and parameterized jobs, and build promotions.
- API. Manipulating jobs using the Jenkins REST API.
- Source code management, Multi-branch pipeline. Git and GitHub (including branch, pull request, commit and checkout), how Jenkins integrates with SCM, how fetch changes (polling vs webhooks are the major ones), how to work with multi-branch pipelines and multi-branch pipeline orphaned strategy.
- Testing. Unit test, integration test, smoke tests, acceptance tests, vulnerability test, etc. Also test publishing and build stability criteria.
- Notifications. How to send basic and custom notifications (for example, notify only commit author or embed build number into a body or a subject), Notification and Email-ext Jenkins plugins.
- Artefacts and Fingerprints. Purpose of the fingerprint (i.e., tracking artefact usage), the process of archiving artefacts and where they are located (i.e., archived are on the master, not on the user’s workspace)
- Distributed builds. Fungible or replaceable agent, master/agent communication protocols (SSH and JNLP), the executor (how it’s different from the agent and how to configure it on a node), how to assign a stage to a node (using agent labels).
- Security. Security realms, authorization options (LDAP, internal database, Linux users, servlet container). Use cases such as adding a user, adding a user with non-standard permissions, permission inheritance.
- Folders and Views. How to organize jobs.
- Triggering and promoting jobs. Build promotions, criteria for promoting a job, how to promote a job manually, options to trigger a job. how to trigger job with parameters both via user interface and API .
How to prepare for it?
Before considering getting certified, I already had two years of experience with Jenkins and DevOps, in general. I only spent 2 weeks studying for it, which I felt was rushed. If I allocated more time for preparation, my final score could have been higher. I recommend assessing you know your own strength and experience, give yourself enough time so you go in confidently.
I mainly used these three resources:
I consider Linux Academy as the most advanced e-learning platform not only for Linux, but also for cloud, containers, DevOps, and, of course, Jenkins. Information needed for the CJE exam, can be obtained from multiple courses.
- If you are completely new to the subject, you can start with DevOps Essentials and Jenkins Quick Start.
- You may skip the basic courses and jump right into the Certified Jenkins Engineer course. It covers a lot but does not dig very deep on some topics.
- After you have done with that, consider taking the practical courses such as Implementing a Full CI/CD Pipeline and Learn Jenkins By Doing.
- The platform isn’t free, but the resources are plenty: videos, quizzes, flashcards, and even several servers as a lab environment.
CloudBees, the company that provides this certification, has several useful online materials. Some of them are free, some of them are very pricey. To supplement my study, I reviewed their free courses such as Jenkins — Fundamentals, Jenkins Pipeline — Fundamentals, and Jenkins Administration — Fundamentals. If you are low on budget, these three courses may be a perfect option for you.
CJE Exam Study Guide
Every year, CloudBees publishes the official exam study guide that lists the exam topics with corresponding references and online resources. These are helpful, especially for topics you are not familiar with or have gaps in.
What’s in it for you?
Whether you’re a software developer, QA engineer, or a DevOps/SRE/systems engineer, the Certified Jenkins Engineer credential is a solid addition to your resume. Even if you’re not into counting the notches in your IT tool belt, I’m sure you will learn a thing or two during the exam preparation that will enhance the way you utilize Jenkins. I believe it is worth the time and money for any IT professional.
If you decide to take the plunge and get certified, I wish you all the best. Do get back to me and let me know how it went.
Read more articles from Vladimir here.