上一篇文章 "前端组长如何利用Docker+Nginx+Jenkins实现项目部署" 中已经把除了Github
触发Jenkins
自动化任务以外的功能都走通了,今天就把剩下的这部分打通,实现代码push
时自动化触发部署任务。
Jenkins
配置
设置Url
这个url
相当于一个接口,到时候会设置到github
的仓库中,每次github
仓库代码提交到相应分支后会调这个接口,jenkins
监听到就会触发自动化任务
设置任务可以被github
触发
勾选这个就表明可以被Github
的webHook
触发
增加Github WebHooks
选择相应仓库,进入设置,选择webHooks
,添加webHooks
到这个时候只需要push
代码就可以去jenkins
中看任务是否执行,但是上一篇中我们脚本命令需要改一下,因为每次触发都会进入www/html
文件夹中,需要把上一次的清除掉,当然是如果有的情况下
bash
npm install pnpm -g
pnpm install
pnpm build
# 打包 build 后的文件
tar -zcvf dist.tar.gz dist/
# 删除 build 后的文件
rm -rf dist/
# 判断 /var/www/html 目录下是否存在 dist 文件夹,若存在则删除
if [ -d "/var/www/html/dist" ]; then
rm -rf /var/www/html/dist
fi
# 移动 build 后的压缩包到 nginx 托管目录下。
echo "Hello, World!"
mv dist.tar.gz /var/www/html
echo "dist"
# 进入托管目录下
cd /var/www/html
# 解压
tar -zxf dist.tar.gz
# 删除压缩包
rm -rf dist.tar.gz
总结
到这里,一个工程化的打包任务就算是结束了,当然里面还有很多可以完善,这里由于篇幅就不展开了,这个是 "前端组长如何利用Docker+Nginx+Jenkins实现项目部署" 的下篇,如果对概念不熟悉的,可以看看上一篇,里面是从零到一建立的。
最后,如果这篇文章对您有所帮助的话,那将不胜感激