?簡而輕的低侵入式線上構建、自動部署、日常運維、專案監控軟體
一鍵部署Jpom
本文主要介紹: 如何從零開始使用一鍵安裝的方式安裝 Jpom 服務端+外掛端配置
本文中服務端和外掛端是安裝在同一個伺服器中的,實際操作時根據業務情況來安裝
Jpom 服務端、Jpom 外掛端(安裝 jpom 需要 java 環境)
安裝服務端
# 提前建立好資料夾 並且切換到對應到資料夾執行命令
mkdir -p /home/jpom/server/
cd /home/jpom/server/
# apt-get 不行就換 yum
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Server jdk
初始化服務端
訪問ip:2122/
安裝外掛端
# 提前建立好資料夾 並且切換到對應到資料夾執行命令
mkdir -p /home/jpom/agent/
cd /home/jpom/agent/
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Agent jdk
新增外掛節點
注意要填寫埠號喲
這裡的節點賬號密碼和超級管理員賬號密碼是兩個都行喲
節點賬號密碼在安裝啟動成功後會輸出到控制檯,請根據輸出到內容填寫。如果自己修改了賬號密碼則填寫修改後的
也可單獨配置節點密碼 application.yml 自定義配置了賬號密碼不會出現此檔案
這樣就完成 Jpom 的安裝流程
新增SSH節點
配置 ssh 資訊、便於構建後釋出到對應伺服器中
注意: 檔案目錄為給對應 ssh 授權部分目錄可以在 Jpom 中使用,一般用於構建釋出目錄、ssh 檔案管理
點選分配給預設空間即可
點選關聯->配置->配置專案白名單 圖下所示
這樣子就可以操作ssh裡面的目錄檔案了
本地構建 + SSH 釋出 java 專案
本文主要介紹:如何從零開始使用 Jpom 中的構建功能快速實現將專案從倉庫中構建併發布到伺服器中並啟動專案
一、配置倉庫資訊
主要用於構建專案
二、配置專案檢視構建資訊,用於管理專案釋出流程
- 構建的專案(倉庫)資訊
- 專案的構建命令(依賴的構建環境:maven、vue、python、php)
- mvn clean package
- npm run build
- 構建產物的目錄(專案中的相對路徑)
- java 專案一般位於當前專案 target 目錄下的某個檔案
- vue 專案一般位於當前專案 dist 資料夾
- 釋出目錄:專案將釋出伺服器到哪個目錄(需要已經配置到 ssh 檔案目錄中)
- 釋出命令:執行釋出後執行的命令,如:配置停止、啟動專案
Java 專案釋出命令示例
Tag="jpom-test-jar"
# 檢查程式狀態
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo -n "boot ( pid $pid) is running"
echo
echo -n $"Shutting down boot: "
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo "kill boot process"
# kill "$pid"
kill -9 "$pid"
fi
else
echo "boot is stopped"
fi
# 啟動專案
nohup java -Dappliction=$Tag -jar /home/java/test/springboot-test-jar-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &
解釋名詞
- 構建命令
springboot maven 打包
- 產物目錄
打完包的jar的地址相對路徑當前模組下的target
- 釋出操作只介紹SSH其他的JPOM檢視具體實現
釋出的SSH: 選擇你配置好的SSH節點
釋出目錄: 把jar複製到指定目錄
釋出前命令:校驗是否需要停止當前專案
釋出後命令:啟動專案
圖片當中的釋出前命令
cd /root/jpom
echo "======================================================================="
echo "檢視金鑰位置:"
ls /root/weChartPayment/apiclient_key.pem
echo "複製金鑰到釋出目錄:"
cp -p /root/weChartPayment/apiclient_key.pem /root/jpom/wx-pay-demo/target
ls /root/jpom/wx-pay-demo/target
echo "======================================================================="
ls
echo "======================================================================="
Tag="wx-pay-demo"
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo -n "boot ( pid $pid) is running"
echo
echo -n $"Shutting down boot: "
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo "刪除存在的程式 $pid"
kill -9 "$pid"
echo "刪除成功準備重新啟動 $pid"
fi
else
echo "SpringBoot 啟動成功 請等待10- 20 秒"
fi
釋出後命令
echo "開始執行啟動命令"
echo "====================================================================================================================================================="
nohup java -jar /root/jpom/wx-pay-demo/target/wx-play-demo-0.0.1-SNAPSHOT.jar > /root/jpom/wx-pay-demo/target/application.log 2>&1 &
echo "====================================================================================================================================================="
echo "SpringBoot 啟動成功 請等待10- 20 秒"