Gob 框架Gob 框架
主页
快速开始
使用文档
服务提供者
提供命令
Github
主页
快速开始
使用文档
服务提供者
提供命令
Github
    • 介绍
    • 安装
    • 运行
    • 目录结构
    • 服务提供者
    • 中间件
    • 命令
    • 编译
    • 调试模式
    • 环境变量
    • 版本
    • 模型
    • swagger
    • grpc支持
    • 自动部署
    • 定时
    • 辅助函数
    • 待办

自动部署

相关的命令详见:deploy

部署自动化其实不是一个框架的刚需,有很多方式可以将一个服务进行自动化部署,比如现在比较流行的 Docker 化或者 CI/CD 流程。

但是一些比较个人比较小的项目,比如一个博客、一个官网网站,这些部署流程往往都太庞大了,更需要一个服务,能快速将在开发机器上写好、调试好的程序上传到目标服务器,并且更新应用程序。

这就是gob框架实现的发布自动化。

SSH

所有的部署自动化工具,基本都依赖本地与远端服务器的连接,这个连接可以是 FTP,可以是 HTTP,但是更经常的连接是 SSH 连接。

基本上,SSH 账号是我们拿到 Web 服务器的首要凭证,所以要设计的自动化发布系统也是依赖 SSH 的。

对应的配置文件如下 config/dev/ssh.yaml,你可以看看每个配置的说明:

timeout: 1s
network: tcp
host: 192.168.159.128
port: 22
username: demo
web-pwd:
  password: "123456"
web-key:
  rsa_key: "C:/Users/.ssh/id_rsa_manjarovm_demo_key"
  known_hosts: "C:/Users/.ssh/known_hosts"
web-ubuntu:
  host: 192.168.159.129
  username: cbh
  password: "5233"

SSH 的连接方式有两种,一种是直接使用用户名密码来连接远程服务器,还有一种是使用 rsa key 文件来连接远端服务器,所以这里的配置需要同时支持两种配置。

对于使用 rsa key 文件的方式,需要设置 rsk_key 的私钥地址和负责安全验证的 known_hosts。

deploy

我们的 gob 框架是同时支持前后端的开发框架,所以自动化部署是需要同时支持前后端部署的,也就是说它的命令也需要支持前后端的部署,

./gob deploy frontend ,部署前端
./gob deploy backend ,部署后端
./gob deploy all ,同时部署前后端
./gob deploy rollback ,部署回滚

部署前端

你可以通过命令

./gob deploy frontend

或者 跳过编译环节

./gob deploy frontend -s=true

第一个方法会直接运行 npm run build,把前端代码生成在dist目录下,然后把dist目录下的文件上传到远端服务器,然后执行前置命令和后置命令。

而第二个方法会掉过编译,直接把dist目录下的文件上传到远端服务器,然后执行前置命令和后置命令。

部署后端

命令 ./gob deploy backend 会自动编译gob二进制文件,然后上传到服务器上。

如果你的 post_action 设置的是重启远端服务器进程,那么实际上就是一个完整的cd行为了。

前后端一起部署

命令 ./gob deploy all

部署回滚

每次部署执行,都会在本地的 deploy 目录下创建一个目录,目录名为当前时间戳,比如20221214203745。

如果你想回滚到上一次部署的版本,可以执行命令 ./gob deploy rollback 20221214203745 backend。

实际上做的事情就是将 deploy 目录下的时间戳对应的文件再进行一次发布。

Last Updated:
Contributors: 被水淹没, 陈壁浩
Prev
grpc支持
Next
定时