代表的な CI/CD ツール ― Jenkins
はじめに
これまでの記事では、CI/CD の基本概念や動作の仕組みについて説明しました。今回は、実際の現場でよく利用されている CI/CD ツールの一つ、Jenkins を紹介します。
Jenkinsとは?
Jenkinsは、オープンソースの CI/CD ツールです。ビルド、テスト、デプロイなどの作業を 自動化 することができます。
※ビルド・テスト・デプロイについては、前回の記事で詳しく説明しています。
Java で作られており、多くのプロジェクトで利用されています。

Jenkinsでできること
Jenkinsでは、以下のようなことが可能です。
- 開発者がプロジェクトのソースコードを変更し、それを Git にプッシュすると、Jenkins が自動的に処理を開始します。
- プロジェクトのビルド
- 自動テストの実行
- サーバーへのデプロイ
これらの操作を 毎回同じ手順で自動実行 できます。
Jenkins でできること と、 Job / Pipeline の関係
ここまでで、Jenkinsでできること(ビルド・テスト・デプロイなど)を紹介しました。では、Jenkinsは どのようにして これらの作業を実行しているのでしょうか。答えはジョブ(Job) と パイプライン(Pipeline) です。
ジョブ(Job)とは?
Jenkinsでは、1 つの処理のまとまりをジョブ と呼びます。
ジョブには、以下のような内容を設定します。
- 実行するコマンド
- Git リポジトリ
- ビルドやテストの手順
- 実行するタイミング
つまり、「Jenkins に何をさせたいか」 を定義したものが ジョブ です。
例:以下のようなジョブがあります。
- Jenkins のジョブでは、どの Git リポジトリのコードを使うか を設定します。
- Java プロジェクトをビルドするジョブ
- テストのみ実行するジョブ
- サーバーにデプロイするジョブ
各ジョブは、1 つの目的を持っています。
パイプライン(Pipeline)とは? パイプラインとは、複数のジョブや処理が順番に連なって実行される流れです。パイプラインを使うと、
- ビルド
- テスト
- デプロイ
といった処理をひとつの流れとして管理することができます。パイプラインの特徴は、 処理の流れをJenkinsfileで記述できる点にあります。
Jenkinsfileの簡単な例
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'アプリをビルドします'
./gradlew build
}
}
stage('Test') {
steps {
echo '自動テストを実行します'
./gradlew test
}
}
stage('Deploy') {
steps {
echo 'サーバーにデプロイします'
./deploy.sh
}
}
}}
まとめ
今回は、CI/CD ツールの一つである Jenkins をご紹介しました。次回の記事では、GitHub ActionsやGitLab CIなど、より最近の CI/CD ツールについて紹介する予定です。
注釈
CI/CDはソフトウェア開発における自動化の重要なプラクティスです。
CI(Continuous Integration:継続的インテグレーション)
- 開発者がコードを頻繁に共有リポジトリに統合。
- 自動ビルドとテストを実行し、品質を担保。
- 目的:早期にバグを発見し、統合の問題を減らす。
CD(Continuous Delivery/Deployment:継続的デリバリー/デプロイメント)
- デリバリー:テスト済みコードを本番環境にデプロイ可能な状態に自動化。
- デプロイメント:本番環境への自動デプロイまで含む。
- 目的:リリースの迅速化と信頼性向上。
Git リポジトリ:ソースコードを保存し、変更を管理する場所
参考資料:

