從零玩轉之JPOM自動化部署本地構建 + SSH 釋出 java 專案

楊不易呀發表於2023-05-19

?簡而輕的低侵入式線上構建、自動部署、日常運維、專案監控軟體

一鍵部署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

image-1679992300279
image-1679992378264

初始化服務端

訪問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 自定義配置了賬號密碼不會出現此檔案
image-1679992614822

這樣就完成 Jpom 的安裝流程

新增SSH節點

配置 ssh 資訊、便於構建後釋出到對應伺服器中
注意: 檔案目錄為給對應 ssh 授權部分目錄可以在 Jpom 中使用,一般用於構建釋出目錄、ssh 檔案管理

image-1679992864858

點選分配給預設空間即可

點選關聯->配置->配置專案白名單 圖下所示

這樣子就可以操作ssh裡面的目錄檔案了

image-1679992982208

本地構建 + SSH 釋出 java 專案

本文主要介紹:如何從零開始使用 Jpom 中的構建功能快速實現將專案從倉庫中構建併發布到伺服器中並啟動專案

一、配置倉庫資訊

主要用於構建專案

image-1679993430064

二、配置專案檢視構建資訊,用於管理專案釋出流程

  1. 構建的專案(倉庫)資訊
  2. 專案的構建命令(依賴的構建環境:maven、vue、python、php)
  3. mvn clean package
  4. npm run build
  5. 構建產物的目錄(專案中的相對路徑)
  6. java 專案一般位於當前專案 target 目錄下的某個檔案
  7. vue 專案一般位於當前專案 dist 資料夾
  8. 釋出目錄:專案將釋出伺服器到哪個目錄(需要已經配置到 ssh 檔案目錄中)
  9. 釋出命令:執行釋出後執行的命令,如:配置停止、啟動專案

image-1679993549214
image-1679993703598

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 &

解釋名詞

  1. 構建命令

springboot maven 打包

  1. 產物目錄

打完包的jar的地址相對路徑當前模組下的target

  1. 釋出操作只介紹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 秒" 

可以愉快的點選構建(直接構建)

微信支付Demo系統

JPOM官方網站

相關文章