手动部署
部署Fireboom一般意味着要同时部署:Fireboom服务和钩子服务。
部署时需要将Fireboom服务依赖的配置文件和钩子服务(二进制或代码)上传到服务器。
目录介绍
Fireboom服务依赖的目录
Fireboom服务启动时需要依赖如下目录,详情见下文:
├─ .gitignore
├─ .env # 环境变量,开发环境和部署环境一般不同
├─ custom-go # golang钩子目录,详情见下文
├─ custom-ts # Nodejs钩子目录,详情见下文
├─ log # 日志目录,无需上传
├─ exported # 部署时无需上传,可用./fireboom build 命令生成
├─ store # 必须上传
├─ template # 部署时若不上传,则fireboom启动时会自动下载
└─ upload # 必须上传钩子服务依赖的目录
钩子服务依赖的目录,取决于钩子服务的语言类型。
脚本语言:需要上传代码,例如:nodejs typescript
编译语言:只需要上传二进制,例如:golang
同步目录
同步上述目录有两种方案:github(推荐)和工具同步。
github(推荐)
推荐使用github管理项目,支持版本控制与多人协作。
部分文件不需要上传到开发环境,可以用.gitignore忽略,参考如下:
在生产服务器上用 git 命令拉取项目即可。
工具同步
使用IDE或rsync将文件同步到服务器,例如:
环境准备
钩子启动环境
不同语言的钩子服务有不同的环境,需要参考各编程语言进行准备:
typescript钩子:安装nodejs环境,前往学习
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
最后更新于
这有帮助吗?