Certified Jenkins Engineer (CJE) 2020を取得しました

# はじめに
GWにCertified Jenkins Engineerを取得しました。マイナーな試験であり情報も少ないため今後の受験を考える人のお役に立てればと思い記事に残します。

執筆時点（2020/05/13）ではコロナの影響により自宅受験が可能です。外出自粛のこの機会に受験をしてみてはいかがでしょうか。受験料も50ドルほど安くなります。

Jenkinsおじさんを従えてみませんか？

# 試験概要
Enterprise版のJenkinsを提供するCloudBees社が主催する試験で下記2種類の区分があります。

- Certified Jenkins Engineer (CJE)
- Certified CloudBees Jenkins Engineer (CCJE) 

私はOSS版のJenkinsを対象としたCJE試験を受験しました。CCJE試験ではEnterprise版に関する知識も問われます。以下は全てCJE試験についての記述となります。

- 試験時間：90分
- 設問　　：60問選択形式(複数選択あり)
- 受験料　：150USD(自宅受験は99USD)
- 出題分野：下記表参照

| カテゴリ                                |出題数|割合|
|:-------------------------------------|:----:|:-:|
| Jenkins Fundamentals                 |10問  |17%|
| Jenkins Administration               |25問  |42%|
| Jenkins Build Technologies - Pipeline |18問  |30%|
| Jenkins Build Technologies - Freestyle|7問   |11%|

- 合格基準：66%

[Certified Jenkins Engineer取得しました](https://qiita.com/mougenko/items/d062b013f450df15082e)や[Certified Jenkins Engineer (CJE) 試験を受けてきた。](https://qiita.com/hiroyuki827/items/28ef1ceba8a1aa478c31)に記載されている出題分野とは名称こそ違えど内容はほとんど同じです。2020年度試験の変更点としては「フリースタイル・プロジェクト」に関する設問が減り「Declarative Pipeline」とセキュリティの知識を問う設問が増えました。

また、2020年度試験では複数回答の設問で部分点が獲得できます。この辺は試験ガイドの英語がよく分からなかったのでごめんさい。

試験ガイドの英語、と書きましたが本試験も<b>全て英語</b>になります。長文を読む訳ではなく、単語も技術用語・Jenkins用語が中心のためそこまで苦労はしないですが、やはり日本語よりは時間がかかるため90分60問は短く感じます。

試験の詳細や例題については[Certification Guide and Information](https://standard.cbu.cloudbees.com/certification-guide-and-information?next=%2Fcertification-guide-and-information%2F370303)を参照してください。ガイドの閲覧にはCloudBeesへのアカウント登録が必要になりますが、無料の学習教材を利用できるようになるため登録することを強くオススメします。

# 学習方法
私が実際に学習した方法になります。

1. 「Jenkins実践入門」を読む
2. Jenkinsで遊ぶ
3. CloudBees Universityを受講する 

学習期間は1ヶ月ほどだったかと。仕事ではジョブの実行しかしたことがありません。試験ガイドでは最低6ヶ月の実務経験が必要と書かれていましたがなんとかなりました。

#### 1. 「Jenkins実践入門」を読む
[［改訂第3版］Jenkins実践入門 ―ビルド・テスト・デプロイを自動化する技術](https://gihyo.jp/book/2017/978-4-7741-8928-4)
EC2でサーバーを立ててハンズオンで進めました。サクッと読めて面白かったです。

#### 2. Jenkinsで遊ぶ
個人で作成しているプロジェクトで
「GitHubのdevelopへpush→自動テスト→masterへmerge→デプロイ→slack通知」
というジョブを作りました。

#### 3. CloudBees Universityを受講する 
- [CloudBees University: Jenkins - Fundamentals](https://standard.cbu.cloudbees.com/cloudbees-university-jenkins-fundamentals)
- [CloudBees University: Jenkins Administration - Fundamentals](https://standard.cbu.cloudbees.com/cloudbees-university-jenkins-administration-fundamentals)
- [CloudBees University: Jenkins Pipeline - Fundamentals](https://standard.cbu.cloudbees.com/cloudbees-university-jenkins-pipeline-fundamentals)

公式推奨の教材です。CloudBeesへのアカウント登録が必要になりますが<b>試験に合格するためであれば絶対に受講すべき</b>です。公式推奨とはそういうことです。 これだけでも受かります、多分。英語のリハビリになった点も良かったです。

資料はスライド形式でVagrant+VirtualBoxで環境を立てて実際に動かすことができます。1コース8hとなっていますがそれぞれ3hほどで終えることができました。

# 感想
試験は広く浅くといった印象でした。Jenkinsの機能だけではなくDevOpsやテスト種類についても把握しておくことです。

今回の学習方法では手を動かすことが多く試験勉強自体がためになりました。試験への貢献度は低かったですが[2. Jenkinsで遊ぶ](#2-jenkinsで遊ぶ)で学んだ内容は今後すぐに活かすことができそうです。経験を積むという意味では落ちたとしても得るものは大きいと思います。

それと、学習期間中に激おこJenkinsおじさんに出くわして笑いました。
<img width="592" alt="激おこJenkinsおじさん.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/633099/85dec4ae-4215-1331-e2fb-bfb1cb36adc5.png">

この試験の知識を持っていればJenkinsおじさんを怒らせること無くセットアップして、ジョブの作成・実行は容易にできるレベルだと思います。個人でも職場でもJenkinsユーザーが増えればいいなと。職場で専用サーバーを用意することが難しければローカルでスタートして実績を積み重ねるなどやりようはあると思います。幸いなことにJenkinsはバックアップとリストアが容易です。

# おわりに
[Jenkins実践入門](https://gihyo.jp/book/2017/978-4-7741-8928-4)より引用します。
> ちなみにJenkinsとは、イギリス人の執事をイメージした名前です。この名前には「Jenkinsがプロジェクトの一員として、執事のように振る舞い、ビルドを実行したり、ビルドレポートを作成してくれる」という思いが込められています。Jenkinsの全身であるHudsonも執事をイメージした名前です。

Jenkinsおじさんを従えてみませんか？

# 参考
- [Jenkins Certification | Get Certified Today | CloudBees](https://www.cloudbees.com/jenkins/certification)
- [Certified Jenkins Engineer取得しました - Qiita](https://qiita.com/mougenko/items/d062b013f450df15082e)
- [Certified Jenkins Engineer (CJE) 試験を受けてきた。 - Qiita](https://qiita.com/hiroyuki827/items/28ef1ceba8a1aa478c31)
- [My road to Certified Jenkins Engineer - Prashant Lakhera - Medium](https://medium.com/@devopslearning/my-road-to-certified-jenkins-engineer-807ae52409a0)