SpringBoot 使用jekins自动连接git,maven仓库自动部署配置
跳过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 &