小项目配置
#!/bin/bash
# 这一行很重要,指定了,项目启动之后才不会被Jenkins杀掉
export BUILD_ID=dontKillMe
# 定义项目最后编译好的jar存放的位置
www_path=/home/workspace/jenkins/qr-service
# 清空父项目统一编译的jar
cd /root/.jenkins/workspace/qr-service
mvn clean install
# ------------------- 1、发布刊登qr-service ----------------------
# 编译、打包qr-service项目
cd /root/.jenkins/workspace/qr-service/qr-publish/qr-publish-service
mvn clean package
# 定义Jenkins中编译好的common-api子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-service/qr-publish/qr-publish-service/target
# 定义Jenkins中编译好的common-api子项目的jar名称
jar_name=qr-publish-service-1.0.0-SNAPSHOT.jar
# 定义common-api子项目的运行端口
port=8883
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
大项目配置
#!/bin/bash
# 这一行很重要,指定了,项目启动之后才不会被Jenkins杀掉
export BUILD_ID=dontKillMe
# 定义项目最后编译好的jar存放的位置
www_path=/home/workspace/jenkins/qr-mall-cloud
# 清空父项目统一编译的jar
cd /root/.jenkins/workspace/qr-mall-cloud
mvn clean install
# ------------------- 1、发布公共接口服务common-api ----------------------
# 编译、打包common-api子项目
cd /root/.jenkins/workspace/qr-mall-cloud/common-api
mvn clean package
# 定义Jenkins中编译好的common-api子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/common-api/target/
# 定义Jenkins中编译好的common-api子项目的jar名称
jar_name=common-api-0.3.0.jar
# 定义common-api子项目的运行端口
port=8890
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
# ------------------- 2、发布官网接口服务designer-api ----------------------
# 编译、打包designer-api子项目
cd /root/.jenkins/workspace/qr-mall-cloud/designer-api
mvn clean package
# 定义Jenkins中编译好的designer-api子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/designer-api/target/
# 定义Jenkins中编译好的designer-api子项目的jar名称
jar_name=designer-api-0.3.0.jar
# 定义designer-api子项目的运行端口
port=8888
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
# ------------------- 3、发布工作台接口服务workbench-api ----------------------
# 编译、打包workbench-api子项目
cd /root/.jenkins/workspace/qr-mall-cloud/workbench-api
mvn clean package
# 定义Jenkins中编译好的workbench-api子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/workbench-api/target/
# 定义Jenkins中编译好的workbench-api子项目的jar名称
jar_name=workbench-api-0.3.0.jar
# 定义workbench-api子项目的运行端口
port=9988
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
# ------------------- 4、发布运营后台接口服务manager-api ----------------------
# 编译、打包manager-api子项目
cd /root/.jenkins/workspace/qr-mall-cloud/manager-api
mvn clean package
# 定义Jenkins中编译好的manager-api子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/manager-api/target/
# 定义Jenkins中编译好的manager-api子项目的jar名称
jar_name=manager-api-0.3.0.jar
# 定义manager-api子项目的运行端口
port=8887
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
# ------------------- 5、发布设计器集成接口服务inject-designer ----------------------
# 编译、打包manager-api子项目
cd /root/.jenkins/workspace/qr-mall-cloud/inject-designer
mvn clean package
# 定义Jenkins中编译好的inject-designer子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/inject-designer/target/
# 定义Jenkins中编译好的manager-api子项目的jar名称
jar_name=inject-designer-0.3.0.jar
# 定义inject-designer子项目的运行端口
port=9977
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &
# ------------------- 6、发布mq消费者服务接口服务consumer ----------------------
# 编译、打包consumer子项目
cd /root/.jenkins/workspace/qr-mall-cloud/consumer
mvn clean package
# 定义Jenkins中编译好的consumer子项目的jar文件所在位置
jar_path=/root/.jenkins/workspace/qr-mall-cloud/consumer/target/
# 定义Jenkins中编译好的consumer子项目的jar名称
jar_name=consumer-0.0.1.jar
# 定义consumer子项目的运行端口
port=8886
# 先杀掉以前的进程
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "root used pid=${pid}"
if [ -n "${pid}" ]; then
kill -9 ${pid}
fi
# 进入指定的编译好的jar的位置
cd ${jar_path}
# 将编译好的jar复制到目标位置
cp ${jar_path}/${jar_name} ${www_path}
# 启动jar
nohup java -jar ${www_path}/${jar_name} --server.port=${port} &