Jenkins自动部署配置其实就是前后端部署步骤,前后端分离项目如何部署可以借鉴另一篇文章:Docker部署前后端分离项目
一、新建任务
二、源码管理
三、构建触发器
注意:需要下载Gitlab插件
四、构建环境
注意:构建环境需要下载NodeJs插件;后端跳过构建环境步骤
五、构建
注意:后端需要多加一步调用顶层Maven目标进行构建和推送
前后端都需要执行shell
六、shell命令示例
1、前端示例(此步骤是在进行前端部署)
#!/bin/bash
testBranchName='origin/master'
test(){
echo $PATH
node -v
npm -v
cnpm install
cnpm run buildTest
mTime=$(date "+%Y%m%d%H%M")
mv /opt/test/test-web/dist /opt/test/test-web/dist-$mTime
cp -r ./dist /opt/test/test-web
nginx -s reload
}
test
前端包部署在Jenkins服务器,如果想将前端包部署到其他服务器,可以新增构建后操作,将前端包推送到其他服务器
2、后端示例(此步骤是在删除镜像)
#!/bin/bash
docker rmi `docker images | grep zhsq | awk '{print $3}'`
七、构建后操作
注意:后端需要多加一步构建后操作
1、在Jenkins系统配置里添加SSH Server
2、执行启动脚本(启动脚本放在刚刚配置的服务器)
启动脚本内容可以参考Docker部署前后端分离项目
八、Gitlab配置Webhooks
Gitlab->项目->设置->Webhooks
Add Webhooks:将第三步骤的URL和token添加进来进行测试