在传统服务器上我们对项目的部署步骤比较繁琐,需要经历编译、打包、上传、启动,这里使用Gitee提供的流水线部署进行简化此过程。
一、创建流水线
很好理解,流水线式的工作,这个步骤结束了进行下一个步骤。
在我们的gitee仓库中,点击流水线,如下:
点击之后如下图:
这里主要说明一下这两个地方:
- 触发事件:Push事件,当我们填写了某个分支之后,在提交代码push到填写的这个分支的时候就会自动触发流水线,这里我们勾选之后默认不填写,则监听所有分支
- 任务编排:就是任务的执行流程步骤和顺序,可以自己定制化
Gitee其实已经为我们提供具体的步骤 构建->测试->扫描-> 发布->部署,这里为了简单展示,我们这里选择 构建->部署 这两个步骤。
二、构建
这里我们选择maven构建,如下图:
这里填写的时候,会有默认值,但是需要注意箭头两个地方,第一个地方是构建命令,没有特殊要求的话 可以使用默认的,第二个这个是构建之后的这个包名的唯一标识,这里需要填写一个自己能记住的名称,后面在部署的时候会用到。
部署
上述完成之后,需要在下图新建任务添加一个构建之后的任务
这里我们选择部署-主机部署,就是部署到我们公网的服务器上。
- 这里点击之后需要进行添加一下主机,添加主机-新建主机组-新建类型(自主导入)
- 确认之后如下图,按照要求执行即可添加主机
之后回到任务编辑那里,即可成功添加主机信息了。
继续往下
- 部署文件名:就是上传到我们服务器的文件名。
- 下载路径:文件上传到服务器的指定路径。
- 文件来源:选择上一步骤中构建的文件,这里选择的文件,就是上述maven构建中构建物唯一标识。
- 部署脚本:就是最后执行的脚本,这里我就是简单用shell做了项目的启动/重启判断。
cd /root/gitee_go/deploy
tar -zxvf wms.tar.gz
function start {
echo "正在启动...">> wms-shell.log
nohup /usr/local/jdk/jdk1.8.0_311/bin/java -jar ./target/wms.jar>wms.log 2>&1 &
echo "启动成功...">> wms-shell.log
}
function stop {
echo "正在停止...">> wms-shell.log
kill -9 $PID
}
PID=$(ps -ef | grep 'wms.jar' | grep -v 'grep' | awk '{printf $2}')
echo "================ 开始 =============" >> wms-shell.log
echo "获取进程ID:" $PID >> wms-shell.log
if [ "$PID" ];then
stop
start
else
start
fi
echo "================ 结束 ============" >> wms-shell.log
到此,简单的流水线完成。
测试
- 点击执行流水线,构建-部署。
- 去服务器查看日志:
到此,简单的流水线部署完成。