jeanne’s experiences with the jenkins certification beta exam

On February 24th, I took the beta for the Jenkins Certification. This beta is different than beta exams from Oracle. In particular, it was only being offered on one day. The only choices you have are:

  • whether you want the morning or afternoon offering. It’s also only being offered in 12 cities (8 in the US and 4 in Europe). I chose the afternoon because I’ll probably be up late the night before. (yeah, I know. not ideal for taking an exam)
  • whether you want the Open Source or Enterprise version of the exam. I chose Enterprise because we use it at work and I like some of the features like templates.

This wasn’t a great time for me to study for or take an exam. The exam was held, literally the day after the robot is due for robotics team on which I mentor the programmers. This means I had little spare time and was somewhat tired. It was worth a shot though. I learned a lot getting ready for it. I also learned some things after the test when I tried them on Jenkins to see what happens in those scenarios.

For the non-beta, the exam is being offered starting in mid May.

 

How was the beta

The documentation said the exam was 60 questions in two hours for the Certified Jenkins Engineer and 90 questions in two hours for the Certified Cloudbees Jenkins Platform Engineer. Beta exams often have more questions and this one was no different. It was 85 questions in two hours for the CJE and 131 questions in two hours for the CCJPE. The time limit wasn’t a problem as most of the questions weren’t text heavy. Most people in my session for the CJE left between 90-120 minutes. I was the second to last to leave for the CCJPE with about 15 minutes left of time. I had time to go through all the questions twice.

We were advised to get there 30 minutes early to sign in and get ready. Glad I did. The first step was to “log into your Prometric account if you have one or sign up for one if you don’t.” Hmm. I knew I had a Prometric account. I used it for the old Sun exams before they switched to PearsonVUE in 2011. I also used it for the TOGAF exam in 2013. They had you in a restricted window so you couldn’t use then net. I tried what I thought might be my user id and password. After a while, they let me open a regular browser to try. I checked my email, I tried to login. Nothing. Eventually I tried registering for a new account. And it let me do so with the same email I know I used for the 2011 and 2013 exams. I suspect Prometric does separate accounts for each vendor (Sun, The Open Group, Cloudbees, etc).

Then we actually took the exam. They allowed using scrap paper and handing it to the proctor at the end. Which is good. I like to write stuff down. And since it was a beta (rather than administered by the testing center), it was paper and pen rather than reusable markers!

The actual exam was like your typical certification test. Some radio buttons. Some checkboxes where they tell you how many are correct. It was also cool to hear people chatting before the exam too since it was mainly Jenkins power users in the room.

How did I do

I passed! I am in the first batch of certified folks for this exam ever!

I’ll edit this post in 4-6 weeks when I have my score. I don’t think I passed. It’s impossible to tell for a beta though as it depends on which questions they choose to include in the exam and what the passing score ends up being.

For one thing, I chose the wrong exam if my goal was to pass. I learned more taking the CCJPE than if I had taken the CJE. But I haven’t used the Cloudbees Jenkins Operation Center in Production and knowing the Enterprise Jenkins parts well wasn’t enough to compensate for that. I’m glad I chose the CCJPE though. I learned more that way.

For another, I didn’t study in enough detail. I knew the scenarios I work with really well. I knew the concepts really well. I knew the things I played with at home studying. But then there were the parts I didn’t know. That was not enough time to study issue. While I did review flashcards at the robotics lab, I choose to prioritize mentoring the programmers on the team over hands on studying details about Jenkins.

How did I study

I recommend spending WAY more time playing with Jenkins features you are unfamiliar with to study for the exam. I didn’t do that due to lack of time. What I did do in the limited time I had available to study:

  • Week 1: 1/27-2/2
    • Decided to take exam
    • Got three out of five of the practice questions right from the PDF (they were easier than the majority of the questions on the exam by the way)
    • Read objectives in detail
    • Self assessed my strengths and weaknesses
    • Installed Jenkins locally including correct plugins
    • Played with plugins, made study outline and flashcards for chapter 1 of objectives
    • Started reading “Jenkins: The Definitive Guide” (I already owned this book and never got around to reading it)
  • Week 2: 2/3-2/9
    • Reviewed flashcards every day
    • Finished reading “Jenkins: The Definitive Guide”
    • Installed CJOC locally
    • Played with plugins, made study outline and flashcards for chapter 5 of objectives
  • Week 3: 2/10-2/16
    • Reviewed flashcards every day
    • Started reading “Continuous Delivery” (another book I owned and never got around to reading)
    • Played with plugins, made study outline and flashcards for chapters 2-3 of objectives
  • Week 4: -2/16-2/23
    • Reviewed flashcards every day
    • Finished reading “Continuous Delivery”
    • Played with plugins some more (fairly minimal though as the robot was due on 2/23) and I spent a lot of time in the lab
  • Exam day: 2/24

The study materials I created

Feel free to use these as a starting point. You need more hands on experience than just reading a study guide though.

I wrote both of these entirely before taking the exam. There are some objectives in the word document were I wrote that I wasn’t sure what they meant. After taking the exam, I’m still not sure! Hopefully these objectives are re-worded to be clearer.

installing the software for the jenkins certification exam

I didn’t have Jenkins on my home machine. While I do use it at CodeRanch and at work, I can’t just make changes because I feel like experimenting so installed locally. So I installed Jenkins on my home computer so I could practice for the Jenkins certification exam. The first thing I did was download the version in the study guide.

Also, see my main blog post about the Jenkins certification exam

Note: this is an old version with known security issues but it is what the PDF says questions were created against so using it anyway.

Installing Jenkins Enterprise

Since it was local and just for playing, I don’t need a servlet container and could just kick it off. Nice and easy:

  1. Download war from http://mirrors.jenkins-ci.org/war/1.625/
  2. java -jar jenkins.war
  3. Launch at http://localhost:8080

Note: <home>/.jenkins has all data from this test install

Then I installed the Jenkins Enterprise edition using the evaluation license. I choose “Install license only” as described on the wiki. It would have been better to choose the full enterprise option to get all the plugins so I circled back and did that.

Note the license is only valid for two weeks so plan carefully!

Installing plugins

A few plugin names differed between the JDF and what was available:

  • Disk-usage-plugin vs Disk usage plugin
  • Jabber notifier plugin vs jabber plugin
  • Node and Label Parameter Plugin vs Nodelabel parameter plugin
  • Pipeline: Multi-Branch vs Multi-Branch pipeline

I also added the literate plugin which is referenced in objectives, but not in the plugin list in the PDF. Finally, I installed the File System SCM plugin so I didn’t have to put everything I build in local git to test things.

 

There were some plugins I wasn’t sure if I had based on the PDF names:

  • Analytics
  • Client Masters
  • Cluster Operations
  • Shared cloud
  • Shared slaves
  • Pipeline Checkpoints Plugin (formerly known as Pipeline Checkpoints Plugin)

Installing Cloudbees Jenkins Operations Center

I had never used Cloudbees Jenkins Operations Center (CJOC) before. I downloaded the war and set my JENKINS_HOME variable. Then I started the CJOC:

java –jar jenkins-oc.war –httpPort=8081 –prefix=/operations-center

And accessed it at http://localhost:8081/operations-center/registration

Note: I realized 3 days before the test that anyone can get an account to edit the Jenkins wiki and fix typos (fixed one at that point). I wish I had realized this earlier as I saw a few others.

15 vs 30 day trial licenses for Jenkins Enterprise

On February 24th, I’m taking the beta for the Jenkins Certification. This beta is different than beta exams from Oracle. In particular, it is only being offered on one day. The only choices you have are:

  • whether you want the morning or afternoon offering. It’s also only being offered in 12 cities (8 in the US and 4 in Europe). I chose the afternoon because I’ll probably be up late the night before. (yeah, I know. not ideal for taking an exam)
  • whether you want the Open Source or Enterprise version of the exam. I chose Enterprise because we use it at work and I like some of the features like templates.

This isn’t a great time for me to study for or take an exam. The exam is being held, literally the day after the robot is due for robotics team on which I mentor the programmers. This means I have little spare time. Especially for the week before the exam.  It’s worth a shot though. I know a lot about Jenkins without studying. And studying for the exam has filled in a lot of what I don’t know nicely.

I started studying two weeks ago (when I registered.)  I wanted to use a trial license for the enterprise edition so I could play with those features at home. I checked the evaluation agreement and it said that trial licenses default to 30 days. I checked again today and it says 15 days so either they fixed it or I misread it. It’s possible they fixed it because I did inform them of the discrepancy.

I filled out the trial form which gave me a 15 day license. I used the contact us form on Cloudbees site to ask about the 15 vs 30 days. They don’t allow gmail as an email provider so I used my javaranch address. (I get that they only want to talk to companies but what if someone is running a business our of gmail?)

A two week trial is also a big annoying because you get the green bar that resists being hidden reminding you that license is about to expire. This left me with a problem because I wanted to review some features a few days before the exam. I’d have installed the enterprise trial license if I had know that it was only good for 15 days.

I checked the license again and it doesn’t say that you can’t use two trials back to back. That would solve my problem. You can’t get another trial for the same instance id. You can for the same email.

Note: Check the trial agreement before attempting this to make sure it isn’t banned in the future.

Approach 1 – Clean install

First, I renamed my working directory so Jenkins thinks it is clean install. I’m not attached to any of my configuration or jobs. So a clean install is fine. I did backup my old install in case I wanted to check on my settings:

mv $HOME/.jenkins $HOME/.jenkins-bkp

Then I started Jenkins:

java -jar jenkins.war

This gives a clean install with no plugins. I then followed the instructions to convert to Enterprise including getting a trial license successfully.

I did want the exact same plugins along with build tools, so rather than redoing that all manually, I ran:

cp -r $HOME/.jenkins-bkp/plugins/* $HOME/.jenkins/plugins
cp $HOME/.jenkins-bkp/config.xml $HOME/.jenkins/config.xml

I then hand edited the config.xml to set <useSecurity>false</useSecurity> instead of true.

Approach 2 – Delete the license files

The technique described here to delete a few files also might work.