云效流水线部署静态网站
- 背景
- 新建流水线
- 配置流水线
- 运行流水线
- 总结
背景
配置流水线以前,每次更新导航网站都要登进去宝塔后台,删掉旧的目录和文件,再上传最新的文件,太麻烦啦
网上的博客基本都是分享vue项目,这一篇是分享的是部署纯静态网站
需要部署的文件是整个代码仓库的文件,文件如下:
因为是公司内部用的导航网站,所以并没有做css文件压缩、js文件压缩处理
新建流水线
进入到云效后台,选择新建流水线
根据上图选好模板后,可以点击创建,下一步配置流水线
配置流水线
第一步,添加流水线源。主要配置代码仓库、触发条件
其它没截图的都是按照默认去配置
第二步,修改基本信息。
这个很简单
第三步,删除测试步骤。项目不需要做测试和代码检查,就是普通的web项目
第四步,Web 构建。
这个很重要
按理说静态网站是不需要跑什么npm run build命令去构建的。云效直接压缩,部署的时候再解压。但是构建产物的时候执行得是克隆命令,克隆仓库会带上一个.git目录,这个目录是不需要上传到宝塔的
Web 构建整体配置如下
执行命令配置效果
执行命令的命令脚本
echo cissy remove start
#前面下载流水线源应该是纯克隆,导致宝塔多了一个.git目录
rm -r .git
echo cissy remove end
构建物上传配置效果
为什么这样配置?
- 删除“Node.js 构建”这个默认步骤是因为项目不需要npm run build
- 新增"执行命令"这个步骤是为了要用脚本去删除那个没有用的.git目录
Web 构建已配置完成,其它没截图的都是按照默认去配置
第五步,主机部署。
这个也很重要,也是最后一步
主机部署整体配置如下
制品直接选择默认制品
配置主机组暂时没有教程
配置制品下载路径,需要去宝塔新建一个目录,专门放流水线下载的压缩包。
下载路径
/www/wwwroot/packages/nav.tgz
配置部署脚本,这个步骤非常非常重要
部署脚本(纯享版)
rm -rf /www/wwwroot/abc.xxxx.com.cn/*
tar zxvf /www/wwwroot/packages/nav.tgz -C /www/wwwroot/abc.xxxx.com.cn
部署脚本(注释版)
# 1.配置主机组(问后端)
# 2.设置下载路径,宝塔新增了目录专门放压缩包,比如/www/wwwroot/packages/nav.tgz
# 3.设置执行用户,应该都是root吧
# 4.删除/www/wwwroot/abc.xxxx.com.cn/下的所有文件
rm -rf /www/wwwroot/abc.xxxx.com.cn/*
# 5.把构建物解压到/www/wwwroot/abc.xxxx.com.cn/目录下
tar zxvf /www/wwwroot/packages/nav.tgz -C /www/wwwroot/abc.xxxx.com.cn
# 6.浏览器输入http://abc.xxxx.com.cn就可以访问最新效果了
部署脚本配置效果
主机部署这里也可以配置一个企业微信机器人通知,不过这个项目暂时没这个需求
目前基本信息、流程配置已经配置完了,还剩触发设置、变量和缓存,这个非必要,可以不用管。
至此流水线已全部配置完毕,下一步就是测试
运行流水线
需要测试一下脚本执行的有没有问题。
因为脚本里面有rm删除目录操作,注意看前面的文件路径参数有没有写错,记得做好备份
运行备注随便写,比如:测试自动化部署
到了云效流水线的运行界面,点进去查看日志
点击Web构建日志,看看“执行命令”这个构建步骤有没有删除.git目录
脚本执行成功了,去宝塔去看看有没有部署成功
宝塔也部署成功了,那就没有问题了!
尝试提交代码去触发流水线。如果触发成功,你可以在流水线的运行历史看到
至此自动化部署的流水线全部配置完毕,希望能帮助大家
总结
云效流水线做得真的很好,下一篇博客会分享node构建