Jpom は、シンプルで軽量な低侵入型のオンライン構築、自動デプロイ、日常運用、プロジェクト監視ソフトウェアです。
日常の開発で、以下のような痛点はありませんか?
- チームに専門の運用担当者がいないため、開発者が運用作業を行い、自分で手動でプロジェクトを構築・デプロイする必要がある。
- プロジェクトごとに異なる構築・デプロイコマンドがある。
- 開発、テスト、運用などの複数環境でのパッケージ化のニーズがある。
- 複数のプロジェクトの実行状態を同時に監視する必要がある。
- SSH ツールをダウンロードしてサーバーにリモート接続する必要がある。
- FTP ツールをダウンロードしてファイルをサーバーに転送する必要がある。
- 複数のサーバーがある場合、異なるコンピュータ間でのアカウントパスワードの同期が不便である。
- 自動化ツールを使用したいが、サーバーの性能に対する要求が高く、構築が面倒である。
- 自動化ツールに対して個別のニーズがあり、プロジェクトを自分で修正したいが、市場のツールは複雑すぎる。
Jpom を使用した後
- 便利なユーザー管理
- ユーザー操作の監視、指定したユーザーの指定した操作をメールで通知
- 複数ユーザー管理、ユーザーのプロジェクト権限が独立(アップロード、削除権限を制御可能)、充実した操作ログ、作業スペースで権限を隔離
- アカウントにMFA 二段階認証を有効にしてアカウントの安全性を向上
- インターフェース形式でプロジェクトの実行状態、コンソールログ、プロジェクトファイルをリアルタイムで確認・管理
- プロジェクトのテキストファイルをオンラインで修正
- Docker コンテナ管理、Docker Swarm クラスター管理(Docker UI)
- オンライン SSH ターミナル、PuTTY、Xshell、FinalShell などのソフトウェアがなくてもサーバーを簡単に管理
- Jpom システムにログイン後、サーバーパスワードを知る必要がない
- SSH で実行を禁止するコマンドを指定でき、高リスクコマンドの実行を避け、自動的にコマンドログを実行
- ファイルディレクトリを設定し、オンラインで対応するプロジェクトファイルおよび設定ファイルを管理
- SSH コマンドテンプレートをオンラインで実行するスクリプトは定期的に実行可能
- テキストファイルをオンラインで修正
- 軽量でシンプルな「バリケードマシン」機能を実現
- プロジェクト配布を使用してクラスターのプロジェクトを一括デプロイ
- オンライン構築で手動でプロジェクトを更新・アップグレードする必要がない
- GIT、SVN リポジトリのプルをサポート
- コンテナ構築(docker)をサポート
- SSH 方式でのリリースをサポート
- 定期的な構築をサポート
- WebHook 形式での構築トリガーをサポート
- nginx 設定ファイルをオンラインで編集し、自動的に reload などの操作をサポート
- nginx の状態を管理し、SSL 証明書を管理
- プロジェクトの状態監視異常を自動的に警報し、自動的に再起動を試みる
- メール + DingTalk グループ + WeChat グループ通知をサポートし、プロジェクトの実行状況を積極的に感知
- ノードスクリプトテンプレート + 定期実行またはトリガーで、さらに多くの機能を拡張
- 重要なパスの権限設定を行い、ユーザーによるシステムファイルの誤操作を防止
📥 Jpom のインストール#
Jpom は多様なインストール方法をサポートしており、異なるユーザーの個別のニーズに応じています。お好きな方法を選んでインストールしてください。
インストールを開始する前に、サーバーが必要です。サーバーとしては伍六七云をお勧めします:https://www.vps567.com 香港 2H2G5M サーバーは 20 / 月、さらに高防 CDN 加速は 18 / 月から利用可能です。
方法一:🚀(推奨) ワンクリックインストール(Linux)#
サーバーのワンクリックインストール#
注意:インストールディレクトリはコマンドを実行したディレクトリにあります!
⚠️ 特に注意:ワンクリックインストールの際、コマンドを同じディレクトリで実行しないでください。つまり、サーバー側とエージェント側は同じディレクトリにインストールできません!
サーバー側のデータやログの保存パスを変更する必要がある場合は、以下の
application.yml
ファイル内のjpom.path
設定属性を変更してください。
# ワンクリックデフォルトインストール
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default
# ワンクリックデフォルトインストール + 自動的に起動サービスを設定
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service
# サーバーとjdk環境をインストール
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk
# サーバーとjdk、maven環境をインストール
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk+mvn
# ubuntu
apt-get install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk
起動に成功すると、サーバーのポートは 2122
になり、http://127.0.0.1:2122/
から管理ページにアクセスできます(ローカル以外からアクセスする場合は、127.0.0.1 をインストールしたサーバーの IP アドレスに変更してください)。
管理システムにアクセスできない場合は、コマンド
systemctl status firewalld
を実行してファイアウォールが有効になっているか確認してください。
ステータスバーに緑色でActive: active (running)
と表示されている場合は、2122
ポートを開放する必要があります。# 管理システムの2122ポートを開放 firewall-cmd --add-port=2122/tcp --permanent # ファイアウォールを再起動して初めて有効になります firewall-cmd --reload
もしオペレーティングシステムでポートを開放してもアクセスできない場合、クラウドサーバーを使用している場合は、クラウドサーバーのバックエンドでセキュリティグループのルールが
2122
ポートを開放しているか確認してください。⚠️ 注意:Linux システムには複数のファイアウォールがあります:Firewall、Iptables、SELinux など、ファイアウォールの設定を確認する際にはすべて確認する必要があります。
プラグイン側のワンクリックインストール#
サーバー側のサーバーも管理する必要がある場合、サーバー側にプラグイン側もインストールする必要があります(同じサーバーにサーバー側とプラグイン側を同時にインストールできます)。
⚠️ 特に注意:ワンクリックインストールの際、コマンドを同じディレクトリで実行しないでください。つまり、サーバー側とエージェント側は同じディレクトリにインストールできません!
プラグイン側のデータやログの保存パスを変更する必要がある場合は、以下の
application.yml
ファイル内のjpom.path
設定属性を変更してください。
# ワンクリックデフォルトインストール
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default
# ワンクリックデフォルトインストール + 自動的に起動サービスを設定
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default+service
# プラグイン側とjdk環境をインストール
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Agent jdk
# ubuntu
apt-get install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Agent jdk
起動に成功すると、プラグイン側のポートは 2123
になり、プラグイン側はサーバー側で使用されます。
方法二:📦 コンテナ化インストール#
⚠️ 注意:コンテナ化インストール方式では、先に docker をインストールする必要があります。docker インストール文書にジャンプ
一つのコマンドでインストール#
docker run -p 2122:2122 --name jpom-server jpomdocker/jpom
マウント方式で関連データを保存(一部環境で互換性の問題が発生する可能性があります)#
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122 \
--name jpom-server \
-v /home/jpom-server/logs:/usr/local/jpom-server/logs \
-v /home/jpom-server/data:/usr/local/jpom-server/data \
-v /home/jpom-server/conf:/usr/local/jpom-server/conf \
jpomdocker/jpom
コンテナボリューム方式で関連データを保存#
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122 \
--name jpom-server \
-v jpom-server-data:/usr/local/jpom-server/data \
-v jpom-server-logs:/usr/local/jpom-server/logs \
-v jpom-server-conf:/usr/local/jpom-server/conf \
jpomdocker/jpom
コンテナ化インストールはサーバー版のみを提供します。コンテナとホスト環境が隔離されているため、プラグイン側の多くの機能が正常に使用できないため、プラグイン側のコンテナ化はあまり意味がありません。
docker のインストール、イメージの設定、自動起動、インストール後のディレクトリの確認などは、文書を参照してください
https://jpom.top/pages/b63dc5/低バージョンの docker で実行すると
ls: cannot access'/usr/local/jpom-server/lib/': Operation not permitted
エラーが発生する場合は、--privileged
パラメータを追加する必要があります。
例:docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged
方法三:💾 ダウンロードしてインストール#
- インストールパッケージをダウンロード https://jpom.top/pages/all-downloads/
- ファイルを解凍
- プラグイン側をインストール
agent-x.x.x-release
ディレクトリにはプラグイン側のすべてのインストールファイルがあります- 対応するサーバーにアップロード(ディレクトリ全体)
- プラグイン側を起動、Windows 環境では bat スクリプト、Linux 環境では sh スクリプトを使用します。(文字化けや正常に実行できない場合は、エンコーディング形式や改行コードが一致しているか確認してください。)
- プラグイン側のデフォルト実行ポート:
2123
- サーバー側をインストール
server-x.x.x-release
ディレクトリにはサーバー側のすべてのインストールファイルがあります- 対応するサーバーにアップロード(ディレクトリ全体)
- サーバー側を起動、Windows 環境では bat スクリプト、Linux 環境では sh スクリプトを使用します。(文字化けや正常に実行できない場合は、エンコーディング形式や改行コードが一致しているか確認してください。)
- サーバー側のデフォルト実行ポート:
2122
、管理ページにアクセス:http://127.0.0.1:2122/
(ローカル以外からアクセスする場合は、127.0.0.1
をサーバーの IP アドレスに変更してください)
方法四:⌨️ コンパイルインストール#
- Jpomの Gitee ホームページにアクセスし、最新の完全なコードを取得します(master ブランチを使用することをお勧めします)
web-vue
ディレクトリに切り替え、npm install
を実行します(vue 環境を事前に構築し、依存パッケージの詳細は web-vue ディレクトリ内の README.md を参照してください)npm run build
を実行して vue プロジェクトをパッケージ化します- プロジェクトのルートディレクトリに切り替え、
mvn clean package
を実行します - プラグイン側をインストール
- プラグイン側のインストールパッケージを確認
modules/agent/target/agent-x.x.x-release
- パッケージをアップロードしてサーバーで実行(ディレクトリ全体)
- プラグイン側を起動、Windows 環境では bat スクリプト、Linux 環境では sh スクリプトを使用します。(文字化けや正常に実行できない場合は、エンコーディング形式や改行コードが一致しているか確認してください。)
- デフォルト実行ポート:
2123
- プラグイン側のインストールパッケージを確認
- サーバー側をインストール
- サーバー側のインストールパッケージを確認
modules/server/target/server-x.x.x-release
- パッケージをアップロードしてサーバーで実行(ディレクトリ全体)
- サーバー側を起動、Windows 環境では bat スクリプト、Linux 環境では sh スクリプトを使用します。(文字化けや正常に実行できない場合は、エンコーディング形式や改行コードが一致しているか確認してください。)
- サーバー側のデフォルト実行ポート:
2122
、管理ページにアクセス:http://127.0.0.1:2122/
(ローカル以外からアクセスする場合は、127.0.0.1
をサーバーの IP アドレスに変更してください)
- サーバー側のインストールパッケージを確認
script/release.bat
またはscript/release.sh
を使用して迅速にパッケージ化することもできます。
方法五:📦 ワンクリックで docker-compose を起動#
- 何の環境もインストールする必要がなく、自動的にコンパイル構築
.env
ファイル内のトークン値を変更する必要があります
yum install -y git
git clone https://gitee.com/dromara/Jpom.git
cd Jpom
docker-compose -f docker-compose.yml up
# docker-compose -f docker-compose.yml up --build
# docker-compose -f docker-compose.yml build --no-cache
# docker-compose -f docker-compose-local.yml up
# docker-compose -f docker-compose-local.yml build --build-arg TEMP_VERSION=.0
# docker-compose -f docker-compose-cluster.yml up --build
方法六:💻 コンパイルして実行#
- Jpomの Gitee ホームページにアクセスし、最新の完全なコードを取得します(master ブランチを使用することをお勧めします。新機能を体験したい場合は dev ブランチを使用できます)
- プラグイン側を実行
org.dromara.jpom.JpomAgentApplication
を実行- コンソールに表示されるデフォルトのアカウントパスワード情報に注意
- プラグイン側のデフォルト実行ポート:
2123
- サーバー側を実行
org.dromara.jpom.JpomServerApplication
を実行- サーバー側のデフォルト実行ポート:
2122
- vue ページを構築し、
web-vue
ディレクトリに切り替えます(前提として、ローカル開発環境に node、npm 環境が必要です) - プロジェクトの vue 依存関係をインストールし、コンソールで
npm install
を実行 - 開発モードを起動し、コンソールで
npm run dev
を実行 - コンソール出力のアドレスにアクセスしてフロントエンドページを表示:
http://127.0.0.1:3000/
(ローカル以外からアクセスする場合は、127.0.0.1
をサーバーの IP アドレスに変更してください)
Jpom 管理コマンド#
- Windows システムでは bat スクリプトファイルを使用します。
# サーバー側管理スクリプト (コマンドライン)
./bin/Server.bat start # Jpomサーバー側を起動
./bin/Server.bat stop # Jpomサーバー側を停止
./bin/Server.bat restart # Jpomサーバー側を再起動
./bin/Server.bat status # Jpomサーバー側の実行状態を確認
# サーバー側管理スクリプト (コントロールパネル)、パネルの指示に従って操作を入力
./bin/Server.bat
# プラグイン側管理スクリプト
./bin/Agent.bat start # Jpomプラグイン側を起動
./bin/Agent.bat stop # Jpomプラグイン側を停止
./bin/Agent.bat restart # Jpomプラグイン側を再起動
./bin/Agent.bat status # Jpomプラグイン側の実行状態を確認
# プラグイン側管理スクリプト(コントロールパネル)、パネルの指示に従って操作を入力
./bin/Agent.bat
Windows システムで起動後、ログを確認して起動状態を追跡する必要があります。文字化けが発生した場合は、エンコーディング形式を確認または変更してください。Windows システムでは bat の
エンコーディング形式はGB2312
を推奨します。
- Linux システムでは sh スクリプトファイルを使用します。
# サーバー側
./bin/Server.sh start # Jpomサーバー側を起動
./bin/Server.sh stop # Jpomサーバー側を停止
./bin/Server.sh restart # Jpomサーバー側を再起動
./bin/Server.sh status # Jpomサーバー側の実行状態を確認
./bin/Service.sh install # Jpomサーバー側のアプリケーションサービスを作成(jpom-server)
# プラグイン側
./bin/Agent.sh start # Jpomプラグイン側を起動
./bin/Agent.sh stop # Jpomプラグイン側を停止
./bin/Agent.sh restart # Jpomプラグイン側を再起動
./bin/Agent.sh status # Jpomプラグイン側の実行状態を確認
./bin/Service.sh install # Jpomプラグイン側のアプリケーションサービスを作成(jpom-agent)
Linux サービス方式管理#
ここでのサービスのインストールは参考用であり、実際にはニーズに応じてカスタマイズ設定が可能です。
./bin/Service.sh install
が成功した後systemctl {status | start | stop | restart} jpom-server
systemctl {status | start | stop | restart} jpom-agent
⚙️ Jpom のパラメータ設定#
プロジェクトの実行ルートパスに:
プログラム設定 ./conf/application.yml
#
- プラグイン側の例:
application.yml
- サーバー側の例:
application.yml
プロジェクトログ ./conf/logback.xml
#
- プラグイン側の例:
logback.xml
- サーバー側の例:
logback.xml