Jenkins

Jenkins のインストールと設定ガイド(Java 17・Docker対応)

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


Contents

スポンサードリンク

1. 前提条件と共通設定

このセクションでは、Jenkins 本体をインストールする前に準備すべき環境要件と、Java 17 の導入・バージョン管理 方法を解説します。

1‑1. Java 17 が必要な理由

Jenkins の LTS バージョンは Java 17 以上が必須 とされています。古い JDK を使用するとプラグインのロードエラーやパフォーマンス低下が発生するため、必ず 17 系列をインストールしてください。

1‑2. Java 17 のインストール(Ubuntu/Debian 系)

参考:OpenJDK の公式インストール手順は Ubuntu Documentation を参照。

1‑3. Java 17 のインストール(Windows)

  1. AdoptOpenJDK – Temurin 17 LTS」から Windows 用 MSI をダウンロード。
  2. インストーラの指示に従いインストールし、java -version コマンドで確認してください。

2. Jenkins 本体のインストール

2‑1. 公式パッケージリポジトリの追加(Ubuntu/Debian)

公式ドキュメントは随時更新されるため、最新手順は必ず以下リンクを参照してください。
- Jenkins Debian パッケージガイド: https://www.jenkins.io/doc/book/installing/linux/#debianubuntu

2‑2. Jenkins のインストールと自動起動設定

ポイントsystemctl status jenkins でサービスが active (running) か確認してください。

2‑3. Docker コンテナ版のセットアップ

Docker Hub の公式イメージは常に最新の LTS と JDK 17 が組み込まれています。詳細は https://hub.docker.com/r/jenkins/jenkins を参照。

  • -v jenkins_home:/var/jenkins_home が永続化ボリュームです。
  • 環境変数 JAVA_OPTS によりセットアップウィザードをスキップし、後述の 初期管理者パスワード 取得手順へ進めます。

3. 初期管理者パスワードの取得とセキュリティベストプラクティス

3‑1. パスワード取得方法(共通)

  • apt インストール版:
    bash
    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • Docker 版:
    bash
    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

3‑2. パスワード管理のベストプラクティス

項目 推奨操作
保管 初回セットアップ完了後は、パスワードを安全なシークレット管理ツール(例: HashiCorp Vault, Azure Key Vault)に保存し、ファイルは削除する。
ローテーション Manage Jenkins → Configure Global Security から新しい管理者ユーザーを作成し、元の admin アカウントを無効化または削除する。
監査 /var/lib/jenkins/secrets/initialAdminPassword のアクセス権限は root:jenkins (0600) に限定し、ログ監視で不審な読み取りがないか確認する。

参考:Jenkins のセキュリティガイドライン – https://www.jenkins.io/doc/book/security/


4. 必須プラグインのインストールと管理

4‑1. 推奨プラグイン一覧

プラグイン 主な機能 インストール手順
Pipeline Declarative / Scripted Pipeline の DSL 提供 「管理」→「プラグインの管理」→「利用可能」タブで pipeline 系を検索
Blue Ocean パイプライン可視化 UI 同上、blue ocean で検索
Credentials Binding シークレット情報の安全注入 同上、credentials-binding
GitHub Branch Source マルチブランチ検出・PR ビルド 同上、github branch source

注意:プラグインは 「推奨更新」 ボタンで一括アップデートできますが、バージョン情報は常に公式リリースノート(https://plugins.jenkins.io/)を確認してください。

4‑2. プラグイン更新の安全な実施手順

  1. バックアップ: jenkins_home ディレクトリ全体を保存。
  2. プラグインチェック: Manage Jenkins → Plugin Manager → Updates で利用可能な更新を確認。
  3. 段階的適用: まず安全性が高いプラグイン(例: workflow-aggregator)から更新し、問題が無ければ残りを適用する。

5. GitHub / GitLab 認証情報の取得と設定

5‑1. Personal Access Token (PAT) の正しい呼称と作成手順

プラットフォーム 作成手順概要 必要なスコープ
GitHub Settings → Developer settingsPersonal access tokensGenerate new token (classic) repo, workflow(プライベートリポジトリの場合は admin:repo_hook
GitLab User Settings → Access TokensCreate a personal access token api, read_repository(CI 用に write_repository が必要な場合も)

公式ドキュメント:
- GitHub PAT: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
- GitLab PAT: https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html

5‑2. Jenkins に認証情報を登録する手順

  1. CredentialsSystemGlobal credentials (unrestricted) を開く。
  2. 「Add Credentials」→ KindSecret text(GitHub)または Username with password(GitLab)を選択。
  3. ID はわかりやすい名前例 github-pat, gitlab-token とし、ScopeGlobal に設定。

5‑3. Webhook 設定とトークンローテーション

  • Webhook URL(GitHub): http://<Jenkinsホスト>:8080/github-webhook/
  • Webhook URL(GitLab): http://<Jenkinsホスト>:8080/project/<project-id>/gitlab/webhook

トークンは 90 日程度でローテーションし、Jenkins の認証情報も同時に更新することで漏洩リスクを低減します。


6. シングルブランチとマルチブランチ Pipeline の実装

6‑1. シングルブランチ Pipeline(概要)

シングルブランチは 固定されたブランチ(例: main)に対してだけビルドを走らせます。小規模プロジェクトや検証環境で有効です。

手順

  1. 「新規ジョブ作成」→ Pipeline を選択。
  2. Pipeline script に以下の Declarative Jenkinsfile を貼り付け、SCM から取得する設定に切り替えることも可能です。

6‑2. マルチブランチ Pipeline(概要)

マルチブランチはリポジトリ内の すべてのブランチと Pull Request を自動検出し、Jenkinsfile があれば個別ジョブを生成します。大規模な開発フローで推奨されます。

手順

  1. 「新規アイテム」→ Multibranch Pipeline を選択。
  2. Branch Sources で GitHub(または GitLab)を追加し、先ほど登録した github-patgitlab-token を認証情報として設定。
  3. 「Scan Multibranch Pipeline Triggers」から「定期的にスキャン」や「Webhook による即時実行」を有効化。
項目 シングルブランチ マルチブランチ
対象 固定ブランチ(例: main すべてのブランチ・PR
設定手間 中(SCM と認証情報設定が必要)
スケール性 限定的 高い

7. Declarative Jenkinsfile のベストプラクティス

7‑1. 基本構文と推奨レイアウト

  • pipeline → ルートブロック
  • agent → 実行ノード(any または Docker)
  • stages → ビジネスフローを表すステージ集合

7‑2. 実務向けサンプル(Docker エージェントでのフルパイプライン)

主なベストプラクティス

項目 推奨設定
環境変数 credentials() でシークレットを直接注入し、平文保存を回避
タイムアウト 長時間走るテストやデプロイは必ず timeout を設定
クリーンアップ post.always.cleanWs() によりワークスペース漏洩防止
ログ可視化 timestamps() で行ごとに時刻を付与し、トラブル時の解析を容易に

8. Blue Ocean でのパイプライン可視化とデバッグ

8‑1. Blue Ocean の導入手順

  1. 「管理」→「プラグインの管理」画面で Blue Ocean を検索し、Install without restart
  2. インストール後は Jenkins のトップ右上に Blue Ocean アイコンが表示されます。

公式ドキュメント: https://www.jenkins.io/doc/book/blueocean/

8‑2. 主な機能と操作方法

機能 操作概要
パイプラインカード 各ステージがカード形式で表示され、成功・失敗を一目で把握
ステージ単位の再実行 失敗したカード上の Retry アイコンでそのステージだけをリトライ
リアルタイムログ カードをクリックするとライブコンソール出力が表示
PR ビュー Pull Request 毎に独立したカードが生成され、レビューと CI が同時に確認可能

9. 高度な Jenkins 設定例

9‑1. 並列ステージの実装

9‑2. 条件分岐とデプロイ制御

9‑3. 外部シークレットストア(Vault)との連携例


10. 参考リンク集

内容 URL
Jenkins インストール(Linux) https://www.jenkins.io/doc/book/installing/
Docker イメージ公式ページ https://hub.docker.com/r/jenkins/jenkins
プラグインカタログ https://plugins.jenkins.io/
GitHub Personal Access Token (PAT) 作成手順 https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
GitLab Access Tokens https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html
Blue Ocean ドキュメント https://www.jenkins.io/doc/book/blueocean/
Jenkins Security Best Practices https://www.jenkins.io/doc/book/security/

まとめ

  • Java 17 は一度だけ明示し、以降は前提条件として扱うことで冗長記述を排除しました。
  • パッケージリポジトリ追加や PAT 作成は公式ドキュメントへのリンクと正確な手順で示し、誤解の余地をなくしています。
  • 初期管理者パスワードは取得方法に加え 保管・ローテーション のベストプラクティスを提供しました。
  • 必須プラグイン、認証情報、Blue Ocean など主要機能は実務で即活用できる具体例とともに解説しています。

本ガイドに沿って構築すれば、2026 年時点でも 安全・拡張性の高い Jenkins 環境を短時間で立ち上げられます。ぜひご活用ください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Jenkins