Jenkinsへようこそ!モダンなソフトウェア開発において、「自動化」は欠かせない要素です。その中心に君臨し続けているのが、オープンソースの自動化サーバー Jenkins です。
この記事では、Jenkinsの基本概念から、実際に手を動かしてビルドを行うハンズオンまでを分かりやすく解説します。
1. Jenkinsとは?
Jenkinsは、ソフトウェア開発の CI/CD(継続的インテグレーション/継続的デリバリー) を支援するためのツールです。
簡単に言うと、「人間が手動で行っていた作業(テスト、ビルド、デプロイなど)を、特定のタイミングで自動実行してくれる執事」 のような存在です。
CI/CDのイメージ
- CI(継続的インテグレーション): コードが変更されるたびに自動でビルドとテストを行い、問題を早期に発見します。
- CD(継続的デリバリー): テストを通ったコードを、いつでも本番環境へリリースできる状態に保ちます。
2. Jenkinsの主な特徴
Jenkinsが長年愛されている理由は、その柔軟性にあります。
| 特徴 | 内容 |
| 豊富なプラグイン | 1,800以上のプラグインがあり、Git, Docker, AWS, Slackなど何でも連携可能。 |
| パイプライン | 一連の作業を「コード(Jenkinsfile)」として記述し、複雑な工程を管理できる。 |
| 拡張性 | 小規模なプロジェクトから、大規模なエンタープライズ環境まで対応。 |
3. ハンズオン:Jenkinsを動かしてみよう
今回は、環境を汚さずに試せるよう Docker を使ってJenkinsを立ち上げ、簡単な「Hello World」を表示するパイプラインを作成します。
ステップ1:Jenkinsの起動
ターミナル(またはコマンドプロンプト)で以下のコマンドを実行してください。
Bash
docker run -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
- ブラウザで
http://localhost:8080にアクセスします。 - Unlock Jenkins という画面が表示されます。
- ターミナルのログに表示されている長いパスワードをコピーして貼り付けます。
- 「Install suggested plugins(推奨プラグインをインストール)」を選択して、数分待ちます。
- ユーザー作成画面が出るので、任意の情報を入力して完了させてください。
ステップ2:最初のパイプライン作成
Jenkinsのダッシュボードが開いたら、いよいよジョブを作成します。
- 左メニューの 「新規ジョブ作成」 をクリック。
- ジョブ名に
My-First-Pipelineと入力し、「パイプライン」 を選択して「OK」を押します。 - 設定画面の下の方にある 「Pipeline」 セクションを探します。
- 「Definition」が
Pipeline scriptになっていることを確認し、以下のコードを貼り付けてください。
Groovy
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello, Jenkins!'
}
}
stage('Build') {
steps {
echo 'Building something...'
sh 'echo "Current date: $(date)"'
}
}
stage('Test') {
steps {
echo 'Testing something...'
echo 'Test passed!'
}
}
}
}
- 「保存」 をクリックします。
ステップ3:実行と結果の確認
- ジョブのメイン画面で、左メニューの 「ビルド実行」 をクリックします。
- 画面下の「ビルド履歴」に
#1が表示されるので、その横の丸印(または#1のリンク)をクリックします。 - 「コンソール出力」 を見ると、実行されたログが表示されます。
Success!
ログの最後に Finished: SUCCESS と出ていれば成功です。
4. まとめ:Jenkins習得への道
今回は、Jenkinsの立ち上げと、コードで定義する「パイプライン」の基本を体験しました。
Jenkinsを使いこなすための次のステップは以下の通りです。
- Gitとの連携: GitHubにコードをプッシュしたら自動でビルドが走るようにする。
- アーティファクトの保存: ビルドしたバイナリやファイルを保存する。
- 通知の設定: ビルドが失敗した時にSlackやメールで通知する。
Jenkinsは非常に奥が深いツールですが、まずは**「定型作業を一つ自動化してみる」**ことから始めてみてください!
コメントを残す