TechCraft – エンジニアのためのスキルアップメモ

エンジニアのスキルアップを少しでも加速する技術ブログ

Jenkins入門ガイド – インストールから基本設定まで

Jenkins入門ガイド – インストールから基本設定まで

1. はじめに

Jenkinsは、継続的インテグレーション(CI)および継続的デリバリー(CD)を実現するためのオープンソースツールです。ソフトウェアのビルド、テスト、デプロイを自動化し、開発の効率を向上させることができます。

本記事では、以下の内容を解説します: 1. Jenkinsのインストール 2. 初期設定 3. 基本的なジョブの作成 4. プラグインの管理 5. Jenkinsの活用例


2. Jenkinsのインストール

2.1. Jenkinsのシステム要件

  • Java 11 以上(Jenkins 2.357 以降は Java 11 が必須)
  • 2GB以上のRAM
  • 50GB以上のディスクスペース(ログやアーティファクトを考慮)

2.2. インストール方法

LinuxUbuntu

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins -y

起動:

sudo systemctl start jenkins
sudo systemctl enable jenkins

Windows

  1. Jenkins公式サイト からWindows用の .msi インストーラをダウンロード
  2. インストーラを実行し、画面の指示に従ってインストール
  3. http://localhost:8080 にアクセス

Docker

docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

3. Jenkinsの初期設定

3.1. 初回ログイン

  1. http://localhost:8080 にアクセス
  2. 管理者パスワードの入力 sh cat /var/lib/jenkins/secrets/initialAdminPassword
  3. プラグインのインストール

  4. 管理者ユーザーの作成

  5. Jenkinsの準備完了

4. ジョブの作成

4.1. フリースタイルプロジェクトの作成

  1. 「新規ジョブ作成」 をクリック
  2. 「フリースタイルプロジェクト」 を選択
  3. ソースコード管理 → Git/SVN を選択し、リポジトリURLを入力
  4. ビルド手順の追加
    • シェルの実行 を選択し、以下のスクリプトを追加(例: Javaのビルド) sh mvn clean package
  5. 「保存」 をクリックし、ビルドを実行

4.2. パイプラインジョブの作成

Jenkinsのパイプラインを使うと、複雑なビルド・デプロイ処理を簡単に管理できます。

Jenkinsfile

以下のスクリプトJenkinsfile として保存:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
        stage('Deploy') {
            steps {
                sh 'scp target/myapp.jar user@server:/path/to/deploy'
            }
        }
    }
}
  1. 「新規ジョブ作成」「パイプライン」 を選択
  2. 「Pipeline script from SCM」 を選択
  3. 「Git」 を選択し、リポジトリのURLを入力
  4. 「保存」 して実行

5. プラグインの管理

Jenkinsの機能を拡張するために、プラグインを導入します。

プラグインのインストール方法

  1. 「Jenkinsの管理」プラグインの管理」
  2. 「利用可能」タブ で検索
  3. 必要なプラグインをインストール
  4. 再起動

おすすめプラグイン

プラグイン 機能
Pipeline パイプラインジョブの作成
Git Plugin Gitリポジトリ連携
Subversion Plugin SVNとの連携
Build Timeout Plugin ビルドが長時間停止するのを防ぐ
Blue Ocean 視覚的なパイプライン管理

6. Jenkinsの活用例

1. GitHubと連携

  1. GitHub Webhookを設定
  2. ジョブのトリガーを「SCMの変更をポーリング」に設定
  3. GitHubリポジトリのWebhooksにJenkinsのURLを登録

2. Dockerコンテナのビルド

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'docker build -t myapp .'
            }
        }
        stage('Push') {
            steps {
                sh 'docker push myrepo/myapp'
            }
        }
    }
}

3. 自動デプロイ(SSHを使う)

stage('Deploy') {
    steps {
        sh 'scp myapp.jar user@server:/path/to/deploy'
        sh 'ssh user@server systemctl restart myapp'
    }
}

7. まとめ

本記事では、Jenkinsの基本的な使い方を解説しました。継続的インテグレーション(CI)や継続的デリバリー(CD)を実現し、開発プロセスを自動化することで、効率的な開発が可能になります。

次に学ぶべきトピック

  • Jenkinsの高度なパイプライン(Declarative vs Scripted)
  • Kubernetesとの統合
  • Jenkinsfileの最適化
  • Jenkinsの負荷分散とスケーリング
  • Security設定のベストプラクティス

Jenkinsを活用して、効率的なCI/CD環境を構築しましょう!