《開源精選》是我們分享Github、Gitee等開源社區(qū)中優(yōu)質(zhì)項目的欄目,包括技術(shù)、學(xué)習(xí)、實用與各種有趣的內(nèi)容。本期推薦的是一個輕量級的項目運維軟件——Jpom。
日常開發(fā)中,您是否有以下痛點?
- 團隊中沒有專門的運維人員,開發(fā)還要做運維的活,需要自己手動構(gòu)建、部署項目。
- 不同的項目有不同的構(gòu)建、部署命令。
- 有開發(fā)、測試、生產(chǎn)等多環(huán)境打包的需求。
- 需要同時監(jiān)控多個項目的運行狀態(tài)。
- 需要下載 SSH 工具遠(yuǎn)程連接服務(wù)器。
- 需要下載 FTP 工具傳輸文件到服務(wù)器。
- 多臺服務(wù)器使用時,在不同電腦之間賬號密碼同步不方便。
- 想使用一些自動化工具,但是對服務(wù)器性能要求太高,搭建太麻煩。
- 對自動化工具有個性化的需求,想自己修改項目,但是市面上的工具太復(fù)雜了。
如果是分布式的項目,以上步驟則更加繁瑣。
讓 Jpom 來幫你解決這些痛點吧!然而,這些只是 Jpom 解決的最基礎(chǔ)的功能。
功能特性
- 節(jié)點管理:集群節(jié)點,統(tǒng)一管理多節(jié)點的項目,實現(xiàn)快速一鍵分發(fā)項目文件
- 項目管理:創(chuàng)建、啟動、停止、實時查看項目控制臺日志,管理項目文件
- SSH面板:在瀏覽器中管理 SSH,方便進行日常運維,記錄執(zhí)行命令記錄
- 在線構(gòu)建:在線拉取 GIT、SVN 倉庫快速構(gòu)建項目包,不用運維人員手動上傳項目包
- 項目監(jiān)控:實時監(jiān)控項目當(dāng)前狀態(tài)、如果異常自動觸發(fā)郵件、釘釘發(fā)出報警通知
- 用戶管理:多用戶管理,實現(xiàn)不同用戶的不同權(quán)限,用戶操作、管理日志完善記錄
- 白名單模式:為了數(shù)據(jù)安全防止用戶隨便查看、刪除文件配置安全的白名單路徑。
- Docker 管理:在線管理鏡像、容器、SWARM 集群。界面化管理 DOCKER
- Nginx 配置、SSL 證書:在線快速方便的修改 NGINX 配置文件,SSL 證書統(tǒng)一管理
安裝 Jpom
Jpom 支持多種安裝方式,滿足不同用戶的個性化需求,您只需要選擇一種方式安裝即可。
- 方式一:一鍵安裝(linux)
一鍵安裝服務(wù)端
注意:安裝的目錄位于執(zhí)行命令的目錄!
特別提醒:一鍵安裝的時候注意執(zhí)行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!
如果需要修改服務(wù)端數(shù)據(jù)、日志存儲的路徑請修改 extConfig.yml 文件中 jpom.path 配置屬性。
# 僅安裝服務(wù)端
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server
# 僅安裝服務(wù)端,備用下載地址
yum install -y wget &&
wget -O install.sh https://jpom-docs.keepbx.cn/docs/install.sh &&
bash install.sh Server
# 安裝服務(wù)端和 jdk 環(huán)境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk
# 安裝服務(wù)端和 jdk、maven 環(huán)境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk+mvn
# ubuntu
apt install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Server jdk
啟動成功后,服務(wù)端的端口為 2122,可通過 http://127.0.0.1:2122/ 訪問管理頁面(如果不是本機訪問,需要把 127.0.0.1 換成你安裝的服務(wù)器 IP 地址)。
如無法訪問管理系統(tǒng),執(zhí)行命令 systemctl status firewalld 檢查下是否開啟了防火墻 ,如狀態(tài)欄看到綠色顯示 Active: active (running) 需要放行 2122 端口。
# 放行管理系統(tǒng)的 2122 端口
firewall-cmd --add-port=2122/tcp --permanent
# 重啟防火墻才會生效
firewall-cmd --reload
如果在操作系統(tǒng)上放行了端口仍無法訪問,并且你使用的是云服務(wù)器,請到云服務(wù)器后臺中檢查安全組規(guī)則是否放行 2122 端口。
注意: Linux 系統(tǒng)中有多種防火墻:Firewall、Iptables、SELinux 等,再檢查防火墻配置時候需要都檢查一下。
一鍵安裝插件端
如果安裝服務(wù)端的服務(wù)器也需要被管理,在服務(wù)端上也需要安裝插件端(同一個服務(wù)器中可以同時安裝服務(wù)端和插件端)
特別提醒:一鍵安裝的時候注意執(zhí)行命令不可在同一目錄下,即 Server 端和 Agent 端不可安裝在同一目錄下!
如果需要修改插件端數(shù)據(jù)、日志存儲的路徑請修改 extConfig.yml 文件中 jpom.path 配置屬性。
# 僅安裝插件端
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent
# 僅安裝插件端,備用下載地址
yum install -y wget &&
wget -O install.sh https://jpom-docs.keepbx.cn/docs/install.sh &&
bash install.sh Agent
# 安裝插件端和 jdk 環(huán)境
yum install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent jdk
# ubuntu
apt install -y wget &&
wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh &&
bash install.sh Agent jdk
啟動成功后,插件端的端口為 2123,插件端提供給服務(wù)端使用。
- 方式二:容器化安裝
使用掛載方式存儲相關(guān)數(shù)據(jù)(在部分環(huán)境可能出現(xiàn)兼容性問題)
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/log
mkdir -p /home/jpom-server/data
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/log:/usr/local/jpom-server/log
-v /home/jpom-server/data:/usr/local/jpom-server/data
jpomdocker/jpom
使用容器卷方式存儲相關(guān)數(shù)據(jù)
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-log
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-log:/usr/local/jpom-server/log
jpomdocker/jpom
容器化安裝僅提供服務(wù)端版。由于容器和宿主機環(huán)境隔離,而導(dǎo)致插件端的很多功能無法正常使用,因此對插件端容器化意義不大。
安裝docker、配置鏡像、自動啟動、查找安裝后所在目錄等可參考文檔
https://jpom.io/pages/b63dc5/
管理 Jpom 命令
windows 系統(tǒng)使用 bat 腳本文件:
# 服務(wù)端管理腳本,按照面板提示輸入操作
Server.bat
# 插件端管理腳本,按照面板提示輸入操作
Agent.bat
Windows 系統(tǒng)中執(zhí)行啟動后需要根據(jù)日志去跟進啟動的狀態(tài),如果出現(xiàn)亂碼請檢查或者修改編碼格式,Windows 系統(tǒng)中 bat 編碼格式推薦為 GB2312
Linux 系統(tǒng)中使用 sh 腳本文件:
# 服務(wù)端
Server.sh start 啟動Jpom服務(wù)端
Server.sh stop 停止Jpom服務(wù)端
Server.sh restart 重啟Jpom服務(wù)端
Server.sh status 查看Jpom服務(wù)端運行狀態(tài)
Server.sh create 創(chuàng)建Jpom服務(wù)端的應(yīng)用服務(wù)(jpom-server)
# 插件端
Agent.sh start 啟動Jpom插件端
Agent.sh stop 停止Jpom插件端
Agent.sh restart 重啟Jpom插件端
Agent.sh status 查看Jpom插件端運行狀態(tài)
Agent.sh create 創(chuàng)建Jpom插件端的應(yīng)用服務(wù)(jpom-agent)
演示
—END—
開源協(xié)議:MIT
開源地址:
https://github.com/dromara/Jpom