手动部署

部署Fireboom一般意味着要同时部署:Fireboom服务和钩子服务。

部署时需要将Fireboom服务依赖的配置文件和钩子服务(二进制或代码)上传到服务器。

目录介绍

Fireboom服务依赖的目录

Fireboom服务启动时需要依赖如下目录,详情见下文:

├─ .gitignore 
├─ .env # 环境变量,开发环境和部署环境一般不同
├─ custom-go # golang钩子目录,详情见下文
├─ custom-ts # Nodejs钩子目录,详情见下文
├─ log # 日志目录,无需上传
├─ exported # 部署时无需上传,可用./fireboom build 命令生成
├─ store # 必须上传
├─ template # 部署时若不上传,则fireboom启动时会自动下载
└─ upload # 必须上传

钩子服务依赖的目录

钩子服务依赖的目录,取决于钩子服务的语言类型。

  • 脚本语言:需要上传代码,例如:nodejs typescript

  • 编译语言:只需要上传二进制,例如:golang

golang可跨平台编译,可在开发环境编译出对应版本直接上传!

同步目录

同步上述目录有两种方案:github(推荐)和工具同步。

github(推荐)

推荐使用github管理项目,支持版本控制与多人协作。

部分文件不需要上传到开发环境,可以用.gitignore忽略,参考如下:

在生产服务器上用 git 命令拉取项目即可。

工具同步

使用IDE或rsync将文件同步到服务器,例如:

环境准备

钩子启动环境

不同语言的钩子服务有不同的环境,需要参考各编程语言进行准备:

  • golang钩子:无需准备环境

环境变量

Fireboom的环境变量存储在根目录下的.env文件中,生产环境需要根据实际情况修改。

其他环境变量,如数据库URL等,请按照实际情况修改。

启动服务

构建依赖

启动钩子服务前,需要先执行Fireboom构建命令:

它会生成两类产物:

  • Fireboom服务生产模式依赖的产物,如exported目录下的文件

  • 钩子服务依赖的文件

    • 所有钩子都依赖的配置,包括custom-x/generated/目录下的 fireboom.config.json和fireboom.operations.json

    • 脚本钩子依赖的代码,例如 nodejs依赖的custom-ts/generated/*.ts

启动钩子

根据钩子服务产物的类型执行不同命令,启动钩子服务。

对于编译语言,直接执行二进制即可,例如golang钩子:

对于脚本语言,一般需要先安装依赖,然后再启动,例如 typescript钩子:

启动Fireboom

为保障安全,需要用生成模式启动Fireboom:

该方式将挂起命令行,可以用其他命令来作为守护进程。

systemctl守护

/usr/lib/systemd/system/ 目录中新建fb.service ,内容如下

然后执行

PM2守护

Nginx配置

9123面板

9991 API

最后更新于

这有帮助吗?