1. はじめに
- 職場に昔からJenkinsサーバがあり、いろいろな用途に使われているようだが、これまで全くノータッチだったため仕組みが分からない。自分もその運用保守をする必要が出てきそうなため、今更ながらJenkinsに入門する。
2. やったこと
- 練習用のJenkinsサーバを構築する。
- ジョブの作成、実行など基本的な操作を確認する。
3. 手順
3.1 Jenkinsサーバのインストール・初期設定
インストール
- Amazon Linux 2023 に Jenkinsをインストールして起動する。
- こちらの記事「AmazonLinux2023にJenkinsをインストールする 」が完璧なのでほぼ記事通りに実施した。
補足
- Plugin
- 「Select plugins to install」で「Install Suggested Plugins」を選択し、おすすめのものをまとめてインストールした。GitやGitHubのプラグイン(後で使う)が含まれる。
- TmpDir変更
- インストール直後、管理画面にログインできるが、状態が「オフライン」になってしまい、以後の作業ができない。
- Jenkinsのデフォルトインストールではテンポラリ領域として/tmpが指定されるが、Amazon Linux 2023をEBS 16GBでインストールしたところ、/tmpが約470MBとなっており、Jenkins側で最低容量不足と判断されてしまった。
- リンク先の記事の通り、TmpDirを別のディレクトリに変更して無事問題解消した。
3.2 基本操作確認
参考記事
- 以下の記事を参考に基本操作を確認した。
- 記事1: 【初心者】とにかく初歩的なJenkinsの使い方
- 記事2: Jenkins を触ってみよう
練習した操作
1) コマンド実行して結果をコンソール出力するだけのジョブの作成、実行
- 新規ジョブ作成 -> フリースタイル・プロジェクトのビルド で新規ジョブを作成
- Build Steps -> ビルド手順の追加 -> シェルの実行 で、実行したいコマンドを記述
- pwd
- echo "1st job"
- 手動でビルド実行後、「コンソール出力」から実行結果を確認
2) ワークスペースにファイルを出力するジョブ
- 1)のコマンドの内容をファイル出力するものに変更
- echo "1st job" > result.txt
- ビルド実行後、ワークスペースにファイル(result.txt)が作成されていることを確認
3) ビルド・トリガによるジョブの定期実行
- 手動ではなく、定期的に自動でビルドを実行する
- 対象のジョブのビルド・トリガで「定期的に実行」をチェックして実行間隔を設定
4) ビルド・トリガによるhttpリクエストでのジョブの実行
- 特定のhttpリクエストを受けたらジョブを実行する
- ユーザ -> 設定 -> APIトークン で、APIトークンを作成
- 対象のジョブのビルド・トリガで「リモートからビルド」をチェック
- 手元のPC(Windows11)から、curlでhttpリクエストを送信し、ジョブが実行されることを確認
# フォーマット
curl -X POST http://[Jenkinsのユーザ]:[Jenkinsのユーザに紐づくAPIトークン]@[JenkinsサーバのURL]/job/[ジョブ名]/build
# 実行例(値はダミー)
curl -X POST http://admin:123450aab4aaaaaade2f9606196c9iiiii@10.10.10.10:8080/job/1stjob/build
4 所感
- 本当にさわりだが雰囲気が分かったので、これからはビビらずに業務用のJenkinsサーバを触って理解を進めるようにしたい。