はじめに
船井総研デジタルのoswです。業務でjenkinsに触れることになったので学習記録を残します。参考になる方がいらっしゃれば幸いです。
このシリーズのゴール
下記をゴールとします。
- 閉じたLAN環境にあるマシンにjenkins環境を構築(別マシンからjenkinsにアクセス)
- 手動でジョブを起動し、githubリポジトリをクローン / 単体テストを走らせる
学習環境
- Windows 11 (WSL2 Ubuntu)
- Rocky Linux 9.1
- jenkins 2.375.3
環境は Ubuntu --- ssh --> Rocky で接続し、Rocky上にjenkinsを構築します。
ただ、Rocky自体は既にファイルサーバとして使っているため、jenkinsのインストール先の環境構築は終了しているものとします。
jenkinとは
CI/CDを実現するOSS。各種CI/CDツールを世界と日本のトレンドで比較してみると全体的な傾向は変わらないものの、jenkinsは2011年リリースから着実に地位を確立しています。一方で日本ではGithub Actionsが急速に伸びているようです。Github Actionsは2019年にリリースされた新しいものではありますが、凄まじい勢いです。
業務ではjenkinsを使う現場が多いイメージですので仕事ではjenkins、プライベートでGithub Actionsを使って両方の知見を蓄積しておくと良いかもしれないですね。
世界のトレンド
日本のトレンド
jenkinsのインストール
Javaのインストール
jenkinsはjavaが必須、かつjava11以降を要求するようです。私はRockyにjavaを入れていないのでインストールから始めます。
❯ sudo dnf -y install java-11-openjdk
...(略)...
❯ java -version openjdk version "11.0.18" 2023-01-17 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.18.0.10-2.el9_1) (build 11.0.18+10-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.18.0.10-2.el9_1) (build 11.0.18+10-LTS, mixed mode, sharing)
jenkinsをインストール
jenkinsをインストールするにはyumレポジトリの追加、及び署名チェックのための公開鍵をインストールする必要があります。
下記でレポジトリ、公開鍵、jenkinsを順にインストールします。公式サイトのコマンドをそのまま実行しています。
❯ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
❯ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
❯ sudo dnf -y install jenkins
jenkinsへアクセス
ファイアウォールの設定
今回はjenkins用のマシンを用意し、それにブラウザでアクセスしていじる構成にしています。
また、jenkinsはデフォルトで8080ポートを使うようですので、ファイアウォールを次のように設定します。
(jenkinsをインストールするマシンとブラウザを起動するマシンが同じならファイアウォールの設定は不要です)
❯ sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
❯ sudo firewall-cmd --reload
jenkinsの自動起動
私の環境はあくまで学習用で、Rockyはもともとファイルサーバとして稼働しているので普段からjenkinsが動いている必要はありません。
そのため、自動起動は設定しませんがお好みで設定してください。
❯ sudo systemctl enable jenkins
jenkinsを起動してアクセスする
❯ sudo systemctl start jenkins
jenkins起動後、ブラウザで<jenkinsを実行しているPCのIP>:8080
へアクセスします。インストール、アクセス先が同じマシンならlocalhost:8080
にアクセスします。
jenkinsの設定
初回ログイン
jenkinsへ初回アクセスすると下記画像の画面が表示されます。指示通り、/var/lib/jenkins/secrets/initialAdminPassword
を開き、中のパスワードをUIに入力します。
初回ログイン時のプラグインインストール
[Install suggested plugins]を選択します。
初回ログイン時のユーザの設定
Instance Configuration
はそのまま「Save and finish」をクリックしてjenkinsの初回ログイン設定は完了です。
ログイン後にプラグイン追加
[ダッシュボード] -> [Jenkinsの管理] -> [プラグインの管理]を選択するとプラグインマネージャが開きます。
補足
ダッシュボード画面右上に赤で通知が表示されていますが、今回これは無視します。jenkins(プラグインなどを含む)が動く単位をノードと呼ぶらしく、jenkins本体を実行するノードとビルドなどを実行するノードを分けた方が良い、という内容のようです。
これについては用語なども含め、整理した上で別の記事にします。
プラグインマネージャの[Available plugins]を選択し、テキストボックスに下記プラグイン名を入力、全てを選択後、[Download now and install after restart]をクリックします。
- Run Condition
- Run Condition Extras
- Build Keeper
- Conditional BuildStep
- Flexible Publish
再起動
画面遷移後、「インストール完了後、ジョブがなければJenkinsを再起動する」にチェックを入れると自動的に再起動されます。
おわりに
jenkinsの環境構築はこれで完了です。