JenkinsでJakarta EEの開発環境を自動構築!初心者でもできるCI/CD入門
生徒
「Jakarta EEの開発って、毎回ビルドしてサーバーにデプロイするのが面倒なんです…」
先生
「そういうときはJenkinsを使って、自動化すると便利ですよ。CIツールとして有名です。」
生徒
「Jenkinsって難しそうですが、Jakarta EEとどうやって連携させるんですか?」
先生
「基本的な使い方はシンプルです。Jakarta EEのプロジェクトをGitで管理し、Jenkinsでビルド・デプロイまで自動化する流れを紹介しますね!」
1. Jakarta EEとJenkinsの連携とは?
Jakarta EEの開発において、Jenkinsを導入することで、ビルド、テスト、WARファイルのデプロイといった作業を自動化できます。CI/CD(継続的インテグレーション/継続的デリバリー)の基礎として、開発効率を大きく向上させることができます。
この記事では、Jakarta EEアプリケーションをJenkinsでビルドし、PayaraサーバーやPayara Microに自動デプロイする手順を解説します。
2. Jenkinsのインストール方法
まず、ローカル開発環境またはサーバーにJenkinsをインストールします。以下のいずれかの方法が一般的です。
- Jenkins公式サイトからWarファイルをダウンロードしてJavaで実行
- Dockerを使ってJenkinsをコンテナとして起動
- Linuxパッケージ(apt/yum)でインストール
今回はDockerを使った方法を紹介します。
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
ブラウザでhttp://localhost:8080にアクセスし、初期パスワードを使ってセットアップを進めます。
3. Jakarta EEプロジェクトの準備
JenkinsでビルドするJakarta EEプロジェクトは、Mavenベースで構成するのが一般的です。リポジトリはGitHubなどにホストしておき、Jenkinsからクローンできる状態にしておきます。
pom.xmlにはJakarta EEの依存関係を定義しておきます。
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-web-api</artifactId>
<version>10.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
4. Jenkinsジョブの作成と設定
Jenkinsの「新規ジョブ作成」から、Freestyleプロジェクトを選択します。
設定項目の例は以下の通りです。
- ソースコード管理:Git(リポジトリURLと認証情報)
- ビルド手順:
mvn clean packageを実行 - ビルド後の処理:WARファイルのコピーやサーバーへのデプロイ
Payara Microを使う場合は、ビルド後に以下のようにコマンド実行でデプロイが可能です。
java -jar payara-micro.jar --deploy target/sample.war
5. Jakarta EEアプリケーションの自動デプロイ
デプロイの自動化にはいくつか方法があります。
- Payara Serverのadminコマンドを使ってリモートデプロイ
- Payara Microにローカルデプロイ
- FTPやSCPでサーバーにWARファイルを転送して再起動
初心者にはPayara MicroとJenkinsの連携が一番シンプルです。ローカルでテストが完了したら、Docker化したPayaraに組み込むことも可能です。
6. Jenkins Pipelineでの高度な自動化
慣れてきたら「Pipeline」を使うことで、より柔軟なCI/CD構成が作れます。Jenkinsfileをプロジェクトに含めて、以下のように構成します。
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/yourname/sample-jakartaee.git'
}
}
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Deploy') {
steps {
sh 'java -jar payara-micro.jar --deploy target/sample.war'
}
}
}
}
Pipelineを使えば、ビルドやテスト、デプロイの処理を段階的に明示しながら自動実行できます。
7. JenkinsでJakarta EEの開発効率を高めよう
Jakarta EEのプロジェクトは、構成がしっかりしていればCI/CDと非常に相性が良いです。Jenkinsと組み合わせることで、毎回手動でビルドやデプロイを行う必要がなくなり、ミスの減少や作業時間の短縮にもつながります。
また、JenkinsはGitと連携してプッシュをトリガーにビルドを開始することもできるため、チーム開発にも最適です。
8. Jakarta EE開発を自動化するメリットとは
JenkinsによるJakarta EE開発の自動化には、以下のようなメリットがあります。
- ビルドとデプロイ作業の標準化
- テストの自動化による品質向上
- 開発メンバーの作業負担軽減
- 本番環境への移行手順の簡略化
Jakarta EEに慣れていない初心者でも、Jenkinsの基本設定さえ覚えてしまえば、効率的な開発サイクルを実現できます。