【CloudBees CI奮闘記】第2章:CloudBees CIをインストールして触ってみる


CloudBees CIを インストールして触ってみる

Jenkinsは世界中で人気があるフリーでオープンソースの自動化サーバーです。そのため気軽に運用を開始することができ、Jenkinsの豊富な機能やプラグインを用いることで環境を発展させていくことが可能です。その一方でJenkinsの運用を進めていくうちに課題も発生してくることがあります。
CloudBees CI奮闘記として、Jenkinsを利用していると発生し得る課題の紹介をしながら、それらを解消するエンタープライズ機能を強化した有償版JenkinsであるCloudBees CIの紹介を行っていきます。

そもそも「CloudBees CIとは?」といったことや、Jenkinsの利用上の課題については前回のブログより確認ください。

目次

はじめに

登場人物

吉田:転職したてのエンジニア。前職では積極的にCIやCDに取り組みながら開発をしていた。CI奮闘記では服部に色々アドバイスを行った。

服部:元々CIやJenkinsについては言葉は聞いたことがある程度であったが、吉田からのサポートをうけつつCI環境の導入担当として日々奮闘している。CI奮闘記では自部署にJenkinsを導入した。

CloudBees CIをインストールしてみる

CloudBees CIですか。よさそうですね。Jenkinsにも多少慣れてきたので、少し触ってみたいです。

そうね。私もまだ触ったことは無いんだけど、色々試してみましょう。
CloudBees CIにはClient Controllerと、Operations Centerというものがあるみたいね。

役割の異なるJenkinsみたいですね。Client Controllerだけでも動きそうですが、せっかくなのでOperations Centerも一緒に構築してみましょう。

CloudBees CIには「Cloud」とついていますが、クラウド環境だけでなく、様々な構築方法があります。またSaaSの製品ではありません。
CloudBees社のドキュメントではクラウド環境上のKubernetesサービス(Amazon EKSなど)を利用して構築することを「Architecture for modern cloud platforms」、Kubernetesといった仮想技術を使わずにインストールして利用する方法を「Architecture for traditional platforms」とそれぞれ表現しています。
今回のCloudBees CI奮闘記では、まず「Architecture for traditional platforms」の内容について記載します。
Kubernetesを用いた障害耐性や負荷分散といったことを重視した「Architecture for modern cloud platforms」での構築について興味がある方はお問合せ下さい。

CloudBees CIの第一歩

CloudBees CIの主な構成要素としてClient ControllerOperations Centerがあります。

Client ControllerはJenkins(コントローラー)に該当します。起動したClient Controllerに対してJenkinsの様にジョブを作成していきます。
Operations CenterはJenkinsにはない、Client Controllerを束ねるための要素となります。Client ControllerをOperations Centerに接続することで、Client Controllerの集中管理が可能になります。

Operations CenterとClient Controllerの関係性

Operations Centerをインストールしてみる

※実際にインストールを行い操作したい場合ライセンスが必要となります。
評価用ライセンスが必要な場合、お問合せ下さい。
まずは画面ショットを確認しながら、利用イメージを持っていただければと思います。

まずはOperations Centerをインストールしましょう。インストール方法は様々な方法がありますが、今回は私のローカルPCにインストールするためWindowsでのインストールで説明を行います。

ドキュメントに記載がある通り、インストーラーを取得します。そのままインストールを進めると、Jenkinsのインストール時と同様、Unlock画面が表示されます。

画面の内容に従ってUnlockするとライセンスの入力画面が表示されます。
評価用ライセンスが必要な場合、お問合せ下さい。

ライセンスの認証が完了すると、従来のJenkinsと変わらずプラグインのインストール方法の選択画面が表示されます。

その後も初期ログインユーザー情報などを登録すると、Jenkinsで見覚えのあるレイアウトの画面が表示されます。

Client Controllerをインストールしてみる

こちらもOperations Centerと同じように、ドキュメントの内容にしたかがってインストール作業を進めていきます。
インストーラーを実行すると先ほどのOperations Centerの様にライセンス認証の画面が表示されます。

今回はOperations Centerと接続する方法で認証を行いましょう。「Join a CloudBees CI Operations Center」を選択します。

先ほどインストールし、起動確認がとれているOperations CenterからこのClient Controllerに接続します。
Operations Center側からは「ジョブ」としてClient Controllerを接続します。

そのまま画面上の内容に従い、設定を進めていきます。

認証が完了するとClient Controllerの利用ができるようになります。

CloudBees CIを触ってみる

見た目自体はそこまで変わらないのね。

確かに。Operations CenterもClient Controllerも、どちらもJenkinsとよく似ていますね。

Client Contrillerのダッシュボード
Operations Centerのダッシュボード

特にClient Controllerの「新規ジョブ作成」については、メニューは増えているけどフリースタイルジョブや、パイプラインJenkinsと同じように利用が出来そうね。

「Jenkinsの管理」のメニューも見たことがあるメニューで安心しました。まずはこれまでのJenkinsと同じように触っていけそうです。

CloudBees CIはJenkinsがベースとなっていることもあり、いままでのJenkinsと同じように利用できます。「いままでJenkinsでできていたことがCloudBees CIでできない」といったことは基本的にはありません。
「まずは従来のJenkinsと同じように利用し、徐々にCloudBees CI独自機能の活用範囲を増やしていく」といった堅実な移行が可能になります。

Jenkinsの資産を移行してみる

ここまでそっくりだと今までのJenkinsのジョブや設定もそのまま利用できそうですよね

そうよね!ちょっと移行についても調べてみましょう!

従来稼働していたJenkinsからClient Controllerへの移行は、(多少の細かい設定はあるものの)warファイルを差し替えることで完了します。
ただし、現実的にはうまくいかない場合もあるかと思います。
長期間Jenkinsをバージョンアップせずに利用し続けていたユーザーは何世代ものJenkinsのバージョンを伴う移行になる場合もあるかと思います。例えばJenkinsは2022年6月でJava 8のサポートを終了しています。(詳しくはこちらのブログを参照ください。Jenkins requires Java 11 or newer)。このようなJenkins自体のバージョンアップに関連した問題も発生する事がありますので、移行時には必ずこちらの移行用のドキュメント(Migrating from Jenkins LTS to CloudBees CI on traditional platforms)をご確認下さい。

まとめ

有償版JenkinsであるCloudBees CIのインストールといくつかの画面を確認しました。
画面ショットでも紹介したようにJenkinsを利用したことがある方であれば見慣れた画面だったかと思います。CloudBees CIはエンタープライズ向けの機能が豊富であったり、セキュリティ面でもJenkinsよりも優れている点はたくさんありますが、「まずは今までと同じように利用ができる」という点は大きなメリットかと思います。今回はそのイメージを掴んでいただければ幸いです。

次回からは具体的なトラブルに対しての解消方法について、Jenkinsと比較しながらCloudBees CIの機能紹介をしていきたいと思います。

CloudBees CI奮闘記一覧

Jenkinsのよくある課題とCIツール比較

CI奮闘記一覧