跳過jekins的安裝,本篇幅未展示:
本篇幅展示開發環境,連接git,自動拉去代碼,用maven打包,用java -jar方式啓動
首先 在jekins上 new 一個新的任務
輸入項目名稱,構建一個Maven項目
添加git的遠程地址 和賬號 指定的分支
我關機啦自動輪詢,定時構建,因爲本人在設置的過程中,覺得還是手動比較好,畢竟,部署只是少量操作,維持服務器的穩定最重要
自動部署標誌Build Triggers 跳過
Build Environment 不勾選
Pre Steps 默認
Maven配置:
Post Steps : 我選擇的是腳本執行 執行命令,
sh -x ${WORKSPACE}/lehe-provider/deploy/boot_jenkins.sh dev 40001 '/home/huqiao/asset/cert/lehe/apiclient_cert.p12'
腳本位置,在啓動模塊中:
boot_jenkins.sh 腳本內容:
#!/usr/bin/env bash
# jenkins啓動腳本(需要在jenkins的環境下)
# 使用示例
# sh -x ./boot_jenkins.sh test 30002
# 防止由jenkins啓動的進程被關閉
BUILD_ID=DONTKILLME
# 要部署的app名稱
APP_NAME='lehe-provider'
# 要執行的環境,請根據環境在jenkins執行的shell腳本中指定參數
ENV=$1
# 要啓動的端口號,請根據環境在jenkins執行的shell腳本中指定參數
PORT=$2
# 微信支付證書路徑
WX_CERT_PATH=$3
# 獲取到佔用該端口的進程
PROCESS=$(netstat -lnp 2>/dev/null | grep ${PORT} | awk '{print $7}' | cut -d / -f 1)
if [ -n "${PROCESS}" ];then
kill -9 ${PROCESS}
fi
# 獲取到要執行的.jar所在的目錄
TARGET_FOLDER=${WORKSPACE}/${APP_NAME}/target
cd ${TARGET_FOLDER}
#java -jar $(ls ${APP_NAME}-*.jar | head -n 1) \
#--spring.profiles.active=${ENV} \
#--server.port=${PORT} \
#--oss.callback.port=${PORT} \
#--payment.wxPay.certPath=${WX_CERT_PATH} \
#>> out.txt &
java -jar $(ls ${APP_NAME}-*.jar | head -n 1) \
--spring.profiles.active=${ENV} \
--server.port=${PORT} \
--oss.callback.port=${PORT} \
--payment.wxPay.certPath=${WX_CERT_PATH} \
>> out.txt &