1、新建项目
2、源码管理,这里使用git,配置项目地址、用户信息、使用分支
3、构建触发器--配置触发条件
4、构建环境
附:
- 进行构建,执行shell脚本,使用nohup后台运行jar时,构建完成后会将该进程一起杀掉,为了能成功后台启动,这里使用BUILD_ID=DONTKILLME避免进程被杀死。
- shell脚本deploy.sh
#!/bin/sh
set -e
JOB=$1
WORKSPACES="/home/user/workspaces"
WORKPATH=$PWD
echo ${WORKPATH}
whoami
initDir() {
if [ ! -d ${WORKSPACES}/backend ]; then
mkdir -p ${WORKSPACES}/backend
fi
if [ ! -d ${WORKSPACES}/frontend ]; then
mkdir -p ${WORKSPACES}/frontend
fi
if [ ! -d ${WORKSPACES}/frontendPC ]; then
mkdir -p ${WORKSPACES}/frontendPC
fi
}
startBackend() {
# kill backend process
backend_pid=`netstat -nlp | awk -F'[ /]*' '/9999/{print $(NF-2)}'`
if [ "$backend_pid" != "" ]; then
kill -9 ${backend_pid}
fi
# build backend
echo ${WORKPATH}/resume-backend
cd ${WORKPATH}/resume-backend
sed -i 's/dev/staging/g' src/main/resources/application.properties
mvn clean -U
mvn install -DskipTests=true
# remove old and add new backend jar
rm -rf ${WORKSPACES}/backend/*
cp -r ${WORKPATH}/resume-backend/target/wechat_resume-0.0.1-SNAPSHOT.jar ${WORKSPACES}/backend
# start new backend
nohup java -jar ${WORKSPACES}/backend/wechat_resume-0.0.1-SNAPSHOT.jar > ${WORKSPACES}/backend.log &2>&1 &
}
startFrontend() {
# remove old dist dir
if [ -d ${WORKSPACES}/frontend ]; then
rm -rf ${WORKSPACES}/frontend/*
fi
cd ${WORKPATH}/resume-frontend
sed -i 's/172.20.60.24:9999/172.20.60.36:9999/g' src/util/configUtil.js
# build
yarn install
yarn build
# add new static file to frontend
cp -r ${WORKPATH}/resume-frontend/dist ${WORKSPACES}/frontend
}
startFrontendPC() {
# remove old dist dir
if [ -d ${WORKSPACES}/frontendPC ]; then
rm -rf ${WORKSPACES}/frontendPC/*
fi
cd ${WORKPATH}/resume-frontend\(pc\)
sed -i 's/172.20.60.24:9999/172.20.60.36:9999/g' src/util/configUtil.js
# build
yarn install
yarn build
# add new static file to frontend
cp -r ${WORKPATH}/resume-frontend\(pc\)/dist ${WORKSPACES}/frontendPC
}
initDir
if [ ${JOB}="all" ]; then
startBackend
startFrontend
startFrontendPC
elif [ ${JOB}="backend" ]; then
startBackend
elif [ ${JOB}="frontend" ]; then
startFrontend
elif [ ${JOB}="frontendPC" ]; then
startFrontendPC
else
echo "Invalid command!"
fi
5、开始构建,点击Build Now即开始构建