使用飞流进行自动部署
shadowfish 2020-10-15 飞流自动部署
之前已经分享了两种自动部署方法(码云webhook、scp2),最近我使用teambition进行团队协作开发,发现了阿里的飞流流水线一样可以优雅地实现自动部署。
# 什么是飞流
飞流以可视化的形式直观地展示自动部署配置,而且有很高的可玩性(可自定义性),唯一的不足应该是它功能非常多,但是文档并没有非常详细地介绍它们。
飞流的部署原理是在飞流服务器上拉取代码后进行自定义操作(测试,构建等等)后生成制品包(待发布文件的压缩包),再按需上传到用户的服务器,之后自定义进行解压等操作。
# 使用飞流部署基于Vue的网站
创建一个新的流水线
绑定代码源。这里可以开启代码源触发,它会提供一个webhook地址,使得每次代码提交时都可以自动运行流水线
添加一个任务,进行构建操作(即运行
npm run build
生成部署文件)将构建出的文件做成制品(即打包成压缩文件),后面部署将用到该制品
注意这里的打包路径就是项目文件下要打包进制品的路径,对于vue项目,这里填
dist/
即可。制品名称在后面部署至我们的服务器时要用到,这里不需要修改。创建部署步骤
这里的参数详细解释一下:
制品:选择在前面创建的制品,即要上传到我们的服务器的文件
主机组:我们的服务器
下载路径:制品将下载到我们的服务器的地址
执行用户:后面部署脚本的执行用户,root即可
部署脚本:制品包下载完毕后在服务器执行的命令
后面的部署策略用于多机部署,这里不使用,就不说明了。
这里的重点是定义我们的部署脚本。本例中Vue项目的发布我们只需要进行两个步骤:将制品压缩包(里面就是待发布的文件)解压,再删除这个压缩包。
因此,输入如下命令即可:
tar zxvf /www/wwwroot/test.cloudschool/dist/package.tgz -C /www/wwwroot/test.cloudschool/dist rm -f /www/wwwroot/test.cloudschool/dist/package.tgz
流水线配置完成,运行试试!