DOGAI

DOGAI

分享高质量GitHub开源项目,低价高质量服务器请看:https://www.vps567.com 香港CN2服务器 高防美国和大陆服务器 还有全球CDN加速。

Jpom 一款國人都說好的自動化部署系統

Jpom 是一款簡而輕的低侵入式在線構建、自動部署、日常運維、項目監控軟體。

logo

日常開發中,您是否有以下痛點?

  • 團隊中沒有專業的運維,開發還要做運維的活,需要自己手動構建、部署項目。
  • 不同的項目有不同的構建、部署命令。
  • 有開發、測試、生成等多環境打包的需求。
  • 需要同時監控多個項目的運行狀態。
  • 需要下載 SSH 工具遠程連接伺服器。
  • 需要下載 FTP 工具傳輸文件到伺服器。
  • 多台伺服器時,在不同電腦之間帳號密碼同步不方便。
  • 想使用一些自動化工具,但是對伺服器性能太高,搭建太麻煩。
  • 對自動化工具有個性化的需求,想自己修改項目,但是市面上的工具太複雜了。

使用 Jpom 後

  • 方便的用戶管理
    1. 用戶操作監控,監控指定用戶指定操作以郵件形式通知
    2. 多用戶管理,用戶項目權限獨立(上傳、刪除權限可控制),完善的操作日誌,使用工作空間隔離權限
    3. 帳號可以開啟 MFA 兩步驗證提高帳號安全性
  • 界面形式實時查看項目運行狀態、控制台日誌、管理項目文件
    1. 在線修改項目文本文件
  • Docker 容器管理、Docker Swarm 集群管理(Docker UI
  • 在線 SSH 終端,讓您在沒有 PuTTY、Xshell、FinalShell 等軟體也能輕鬆管理伺服器
    1. 登錄 Jpom 系統後不需要知道伺服器密碼
    2. 能指定 SSH 禁止執行的命令,避免執行高風險命令,並且能自動執行命令日誌
    3. 設置文件目錄,在線查看管理對應項目文件及配置文件
    4. SSH 命令模版在線執行腳本還能定時執行
    5. 在線修改文本文件
    6. 輕量的實現了簡單的 "堡壘機" 功能
  • 使用項目分發一鍵搞定集群項目多機部署
  • 在線構建不用手動更新升級項目
    1. 支持拉取 GIT、SVN 倉庫
    2. 支持容器構建(docker)
    3. 支持 SSH 方式發布
    4. 支持定時構建
    5. 支持 WebHook 形式觸發構建
  • 支持在線編輯 nginx 配置文件並自動 reload 等操作
    1. 管理 nginx 狀態,管理 SSL 證書
  • 項目狀態監控異常自動報警、自動嘗試重啟
    1. 支持郵件 + 丁丁群 + 微信群通知,主動感知項目運行狀況
  • 節點腳本模版 + 定時執行或者觸發器,拓展更多功能
  • 重要路徑授權配置,杜絕用戶誤操作系統文件

📥 安裝 Jpom#

Jpom 支持多種安裝方式,滿足不同用戶的個性化需求,您只需要選擇一種方式安裝即可。

在開始安裝之前我們需要一台伺服器,伺服器這裡我推薦伍六七雲https://www.vps567.com 香港 2H2G5M 伺服器 20 / 月,還有高防 CDN 加速只需 18 / 月起。

方式一:🚀(推薦) 一鍵安裝(Linux)#

一鍵安裝服務端#

注意:安裝的目錄位於執行命令的目錄!

⚠️ 特別提醒:一鍵安裝的時候注意執行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!

如果需要修改服務端數據、日誌存儲的路徑請修改
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 等,再檢查防火牆配置時需要都檢查一下。

一鍵安裝插件端#

如果安裝服務端的伺服器也需要被管理,在服務端上也需要安裝插件端(同一個伺服器中可以同時安裝服務端和插件端)

⚠️ 特別提醒:一鍵安裝的時候注意執行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!

如果需要修改插件端數據、日誌存儲的路徑請修改
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

方式三:💾 下載安裝#

  1. 下載安裝包 https://jpom.top/pages/all-downloads/
  2. 解壓文件
  3. 安裝插件端
    1. agent-x.x.x-release 目錄為插件端的全部安裝文件
    2. 上傳到對應伺服器(整個目錄)
    3. 啟動插件端,Windows 環境用 bat 腳本,Linux 環境用 sh 腳本。(如果出現亂碼或者無法正常執行,請檢查編碼格式、換行符是否匹配。)
    4. 插件端默認運行端口:2123
  4. 安裝服務端
    1. server-x.x.x-release 目錄為服務端的全部安裝文件
    2. 上傳到對應伺服器(整個目錄)
    3. 啟動服務端,Windows 環境用 bat 腳本,Linux 環境用 sh 腳本。(如果出現亂碼或者無法正常執行,請檢查編碼格式、換行符是否匹配。)
    4. 服務端默認運行端口:2122,訪問管理頁面:http://127.0.0.1:2122/(非本機訪問把 127.0.0.1 換成您的伺服器 IP 地址)

方式四:⌨️ 編譯安裝#

  1. 訪問 Jpom 的碼雲主頁,拉取最新完整代碼(建議使用 master 分支)
  2. 切換到 web-vue 目錄,執行 npm install(vue 環境需要提前搭建和安裝依賴包詳情可以查看 web-vue 目錄下 README.md)
  3. 執行 npm run build 進行 vue 項目打包
  4. 切換到項目根目錄執行:mvn clean package
  5. 安裝插件端
    1. 查看插件端安裝包 modules/agent/target/agent-x.x.x-release
    2. 打包上傳伺服器運行(整個目錄)
    3. 啟動插件端,Windows 環境用 bat 腳本,Linux 環境用 sh 腳本。(如果出現亂碼或者無法正常執行,請檢查編碼格式、換行符是否匹配。)
    4. 默認運行端口:2123
  6. 安裝服務端
    1. 查看插件端安裝包 modules/server/target/server-x.x.x-release
    2. 打包上傳伺服器運行(整個目錄)
    3. 啟動服務端,Windows 環境用 bat 腳本,Linux 環境用 sh 腳本。(如果出現亂碼或者無法正常執行,請檢查編碼格式、換行符是否匹配。)
    4. 服務端默認運行端口:2122,訪問管理頁面:http://127.0.0.1:2122/(非本機訪問把 127.0.0.1 換成您的伺服器 IP 地址)

也可以使用 script/release.batscript/release.sh 快速打包。

方式五:📦 一鍵啟動 docker-compose#

  • 無需安裝任何環境,自動編譯構建

需要注意修改 .env 文件中的 token 值

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

方式六:💻 編譯運行#

  1. 訪問 Jpom 的碼雲主頁 拉取最新完整代碼 (建議使用 master 分支,如果想體驗新功能可以使用
    dev 分支)
  2. 運行插件端
    1. 運行 org.dromara.jpom.JpomAgentApplication
    2. 留意控制台打印的默認帳號密碼信息
    3. 插件端默認運行端口:2123
  3. 運行服務端
    1. 運行 org.dromara.jpom.JpomServerApplication
    2. 服務端默認運行端口:2122
  4. 構建 vue 頁面,切換到 web-vue 目錄(前提需要本地開發環境有 node、npm 環境)
  5. 安裝項目 vue 依賴,控制台執行 npm install
  6. 啟動開發模式,控制台執行 npm run dev
  7. 根據控制台輸出的地址訪問前端頁面:http://127.0.0.1:3000/(非本機訪問把 127.0.0.1 換成您的伺服器 IP 地址)

管理 Jpom 命令#

  1. 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

  1. 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#

  1. 插件端示例:
    application.yml
  2. 服務端示例:
    application.yml

項目日誌 ./conf/logback.xml#

  1. 插件端示例:
    logback.xml
  2. 服務端示例:
    logback.xml

📝 常見問題、操作說明#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。