shadowfish和他的代码

vuePress-theme-reco shadowfish    2020 - 2023
shadowfish和他的代码

Choose mode

  • dark
  • auto
  • light
时间轴

shadowfish

49

Article

42

Tag

时间轴

使用飞流进行自动部署

vuePress-theme-reco shadowfish    2020 - 2023

使用飞流进行自动部署

shadowfish 2020-10-15 飞流自动部署

之前已经分享了两种自动部署方法(码云webhook 、scp2 ),最近我使用teambition进行团队协作开发,发现了阿里的飞流 流水线一样可以优雅地实现自动部署。

# 什么是飞流

飞流以可视化的形式直观地展示自动部署配置,而且有很高的可玩性(可自定义性),唯一的不足应该是它功能非常多,但是文档并没有非常详细地介绍它们。

飞流的部署原理是在飞流服务器上拉取代码后进行自定义操作(测试,构建等等)后生成制品包(待发布文件的压缩包),再按需上传到用户的服务器,之后自定义进行解压等操作。

# 使用飞流部署基于Vue的网站

  1. 创建一个新的流水线

    image.png

  2. 绑定代码源。这里可以开启代码源触发,它会提供一个webhook地址,使得每次代码提交时都可以自动运行流水线image.png

  3. 添加一个任务,进行构建操作(即运行npm run build生成部署文件)image.png

    image.png

  4. 将构建出的文件做成制品(即打包成压缩文件),后面部署将用到该制品

    image.png

    注意这里的打包路径就是项目文件下要打包进制品的路径,对于vue项目,这里填dist/即可。制品名称在后面部署至我们的服务器时要用到,这里不需要修改。

    image.png

  5. 创建部署步骤

    image.png

    这里的参数详细解释一下:

    制品:选择在前面创建的制品,即要上传到我们的服务器的文件

    主机组:我们的服务器

    下载路径:制品将下载到我们的服务器的地址

    执行用户:后面部署脚本的执行用户,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
    
  6. 流水线配置完成,运行试试!image.png