Jenkins结合gitlab自动化持续集成及部署消息推送

220 阅读1分钟

利用Jenkins中配置的shell脚本打包:

which node
node -v
npm  -v
npm config set registry https://registry.npm.taobao.org
npm i
npm run dll
npm run build
tar -zcvf order_web.tar.gz ./build
mv -f /home/fr/jenkinsDic/workspace/${JOB_NAME}/order_web.tar.gz /home/fr/jenkinsPushlish/war/
/home/fr/tools/bin/static_web_build.sh /home/fr/webServer/node_koa_oms/webapps/public/order/ order_web.tar.gz order/

以上脚本根据Jenkins的版本以及不同的项目模块,需进行少量改动

针对FR24新版Jenkins示例:

image.png

image.png

针对FR24旧版Jenkins示例:

image.png 上述操作完成后,部署时,无需本地打包,直接在Jenkins上点击部署即可

利用Jenkins插件实现自动部署:

接收gitlab仓库代码事件触发的Webhook来触发Jenkins Job/Pipeline的构建,并且能将构建状态同步到Gitlab中.

所需的Jenkins插件:  Gitlab Hook Plugin

作用: 当Github有代码提交时触发自动构建

安装插件

Jenkins --> 系统管理 -->插件管理 -->可用插件 -->搜索GitLab Plugin

image.png

安装后需重启Jenkins

配置gitlab

image.png

image.png

image.png

配置Jenkins

image.png

利用Jenkins插件实现部署后消息推送

安装插件

Jenkins --> 系统管理 -->插件管理 -->可用插件 -->搜索 Qy Wechat Notification

在企业微信添加机器人

配置Jenkins

image.png

预期效果

image.png

后续优化

最佳方案是gitlab自带的CI/CD,目前由于各方面因素,暂定为使用Jenkins插件实现