2.5 配置全局变量
系统管理 > 全局工具配置
Maven配置:
JDK:
Git:
Maven:
应用 》保存
2.6 部署项目
首页点击新建:输入项目名称
下方选择构建一个 Maven 项目,点击确定。
勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个
源码管理 :
构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来
在 Build 中输入打包前的 mvn 命令,如:
clean install -Dmaven.test.skip=true -Ptest
Post Steps:选Execute shell
填入shell命令:(这个shell命令只需要改三个变量替换成自己的就行)
#!/bin/bash # 定义变量(以下三个变量替换成自己的) JAR_NAME="time-intersection-0.0.2-SNAPSHOT.jar" #jar包名称 PROJECT_NAME="test" #构建的jenkins项目的名称 MY_PROJECT_PATH="/home/app" #项目想要部署的路径 JAR_FILE=/var/lib/jenkins/workspace/${PROJECT_NAME}/target/${JAR_NAME} #因为jenkins打包自动放在它自己的目录下 PROJECT_PATH=${MY_PROJECT_PATH}/${PROJECT_NAME} #项目部署所在路径 echo "jar包路径:${JAR_FILE}" # 在部署前杀死上一次的程序 pid=$(ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}') if [ -n "${pid}" ]; then echo "kill -9 ${pid}" # grep ${JAR_NAME} 查询一个程序 # grep -v grep 去除 grep # awk '{print $2}' 获取第二列数据 # xargs kill -9 xargs可以将返回的数据传到给下一个命令使用 ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}' | xargs kill -9 fi # 判定目录和文件是否存在 if [ ! -f ${JAR_FILE} ]; then echo "${JAR_FILE} not exist!" exit else if [ ! -d ${PROJECT_PATH} ]; then echo "创建项目路径:${PROJECT_PATH}" mkdir -p ${PROJECT_PATH} chmod 777 ${PROJECT_PATH} fi #复制jenkins自动打包的jar包到我们指定的目录 cp ${JAR_FILE} ${PROJECT_PATH}/${JAR_NAME} #给予文件最大权限 chmod 777 ${PROJECT_PATH}/${JAR_NAME} fi # 部署新的程序 cd ${PROJECT_PATH} BUILD_ID=dontKillMe #必须加,否则jenkins启动结束后会自动杀进程,有的jenkins版本是JENKINS_NODE_COOKIE=dontKillMe nohup java -jar ${JAR_NAME} --spring.profiles.active=prod >log.txt & sleep 10 tail -n 200 log.txt echo "Startup SpringBoot Application SUCCESS"