飞布产品手册
官网B站Github
V2.0
V2.0
  • 序言
  • 更新日志
    • 更新日志V2.0
    • V2.0更新说明
    • 更新日志V1.0
  • 产品简介
    • 什么是飞布?
    • 飞布的价值
    • 飞布的优势
    • 应用场景
    • 数据安全
    • 产品案例
  • 快速入门
    • 初识飞布
    • 快速上手
      • 图文版
    • 词汇概览
    • 工作原理
  • 基础-可视化开发
    • 概览
      • CLI
      • 控制台
        • 主功能区
    • 数据源
      • 数据库
        • 数据库连接
          • 高级设置
        • 数据建模
        • 数据预览
      • Prisma 数据源
      • REST 数据源
      • GraphQL 数据源
      • 消息队列
    • API构建
      • 可视化构建
        • API规范
      • 批量新建
      • HTTP请求流程指令
      • 使用API
      • 实时查询
      • 实时推送
      • 关联查询
      • 数据缓存
      • 常见用例
    • 身份验证
      • 授权码模式
        • 身份验证(废弃)
      • 隐式模式
      • 数据权限控制
    • 身份授权
      • RBAC
        • 授权与访问控制(废弃)
      • 接口权限控制
      • 开放API
    • 文件存储
      • S3配置及使用
      • 文件管理面板
      • 高级配置:profile
  • 进阶-钩子机制
    • 钩子概览
    • 启动钩子
      • Node钩子
      • Golang钩子
      • Java钩子
      • Python钩子
    • OPERATION钩子
    • 身份验证钩子
    • graphql钩子
    • 函数钩子
      • function
      • proxy
    • 文件上传钩子
    • 内部调用
  • 使用-部署上线
    • 部署运维
      • 手动部署
        • 流水线部署(废弃)
      • Docker部署
      • 飞布云
      • sealos部署
    • 接口安全
      • CSRF token 保护
      • 跨域访问
    • 客户端SDK
      • Js SDK
      • 微信小程序SDK
      • Flutter SDK
      • uniapp SDK
    • 性能测试
  • 迁移到V2
  • 环境准备
    • 文件存储 S3
    • 身份认证 OIDC
    • NodeJs环境
  • 实战案例
    • Amis Admin
      • 管理后台-refine(废弃)
    • 实时TODO LIST
    • 语音版ChatGPT
    • AI魔法师实战
    • 阿里低代码引擎
    • appsmith集成
  • Roadmap
  • 常见问题
  • 核心概念
    • GraphQL
    • 超图
    • 请求时序图
    • 服务端Operation
  • 二次开发
    • 钩子规范
      • 钩子规范bak
    • 模板规范
    • 自定义模板
    • 其它参考
由 GitBook 提供支持
在本页
  • 本地安装
  • 开发模式
  • 帮助命令
  • 指定面板端口
  • 指定环境变量
  • 开启面板保护
  • 生产模式
  • 帮助命令
  • 开启swagger文档
  • 重新生成秘钥
  • 构建命令
  • 升级飞布

这有帮助吗?

在GitHub上编辑
  1. 基础-可视化开发
  2. 概览

CLI

飞布 CLI 是一个命令行工具,可以帮助你创建一个新项目,管理元数据,应用迁移等。

本地安装

使用飞布 CLI 前,需要先完成安装。安装脚本如下:

如果你使用的是Windows系统,建议使用 Git bash 执行脚本,或者在MSYS2等环境下执行脚本,不支持在CMD或者PowerShell终端中执行

curl -fsSL fireboom.io/install | bash -s project-name -t init-todo --cn
  • 项目名称:project-name,可根据需求修改

  • 初始化模板:-t init-todo,省略后默认创建空项目

  • 选择源:--cn ,指定从国内源下载,省略后从 github源下载

执行上述命令后,将在执行目录下新建名称为project-name的文件夹,其目录结构如下:

project-name
├─ .gitignore
├─ .gitpod.yml
├─ README.md
├─ custom-go # golang 钩子的目录 见下文
├─ custom-ts # typescript 钩子的目录 见下文
├─ exported # 生成的临时目录
│  └─ introspection
│     ├─ system
│     │  └─ schema.graphql
│     └─ todo
│        ├─ schema.graphql
│        └─ schema.prisma
├─ store # 元数据存储目录
│  ├─ config # 全局配置
│  │  ├─ global.operation.json
│  │  └─ global.setting.json
│  ├─ datasource #数据源配置,每个数据源1个json
│  │  ├─ system.json
│  │  └─ todo.json
│  ├─ operation # OPERATION存储,.json和.graphql成对存在
│  │  └─ Todo
│  │     ├─ CreateOneTodo.graphql
│  │     ├─ CreateOneTodo.json
│  │     ├─ GetManyTodo.graphql
│  │     ├─ GetManyTodo.json
│  └─ role # 角色存储,每个角色1个json
│     ├─ admin.json
│     └─ user.json
├─ template # SDK模板目录
│  ├─ golang-server # golang 钩子模板
│  └─ node-server # TS 钩子模板
├─ update-fb.sh
└─ upload # 上传文件目录
   ├─ oas
   │  └─ system.json
   └─ sqlite
      └─ todo.db

如果你用golang开发钩子服务,则需要关注如下目录:

├─ custom-go
│  ├─ auth # 授权钩子目录
│  │  └─ mutatingPostAuthentication.go
│  ├─ customize # 自定义数据源钩子目录
│  │  └─ chatGPT.go
│  ├─ go.mod
│  ├─ go.sum
│  ├─ helix.html
│  ├─ hooks # 每个OPERATION 钩子对应目录
│  │  └─ Todo
│  │     └─ CreateOneTodo
│  │        └─ postResolve.go
│  ├─ main.go
│  ├─ pkg
│  ├─ scripts
│  │  ├─ install.sh
│  │  ├─ run-build.sh
│  │  ├─ run-dev.sh
│  │  └─ run-prod.sh
│  └─ generated # 生成的文件,每次配置修改触发编译后,都会覆盖该目录
│  └─ server
│     └─ start.go # 入口文件,每次配置修改触发编译后,都会覆盖该文件

如果你用TypeScript开发钩子服务,则需要关注如下目录:(对应文件的功能同上)

├─ custom-ts
│  ├─ README.md
│  ├─ auth
│  ├─ customize
│  ├─ global
│  ├─ hooks
│  │  └─ Todo
│  │     └─ CreateOneTodo
│  │        └─ postResolve.ts
│  ├─ nodemon.json
│  ├─ operations
│  ├─ operations.tsconfig.json
│  ├─ package.json
│  ├─ scripts
│  │  └─ buildOperations.ts
│  ├─ tsconfig.json
│  └─ generated # 生成的文件,每次配置修改触发编译后,都会覆盖该目录
│  ├─ fireboom.server.ts # 入口文件,每次配置修改触发编译后,都会覆盖该文件
│  └─ uploads

开发模式

cd project-name
./fireboom dev

飞布将执行下述逻辑:

  • 启动控制台:启动控制台,默认访问地址为:http://localhost:9123

  • 实时编译API:检测配置变更,并将其实时编译为REST API。(编译流程如下)

飞布开发的API,默认访问地址为:http://localhost:9991。不同于控制台的访问地址!

飞布控制台(9123)和API(9991)用不同端口暴露。为保证安全,建议开启9123的授权保护,参考 开启面板保护

在开发模式下,每次通过界面修改配置,都会触发核心引擎的实时编译流程。

API编译流程如下:

  1. 读取store目录下的配置,编译到目录:exported/generated

  2. 内省数据源,获得各数据源的graphql schema描述,存储在目录:exported/introspection

  3. 根据启用的模板库,生成对应SDK到指定目录,模板位于目录:template

  4. 重启核心引擎,注册GraphQL Operation路由,对外暴露REST API 服务

帮助命令

# 查看支持的所有参数
./fireboom dev --help  
Start the fireboom application in development mode and watch for changes

Usage:
  fireboom dev [flags]

Examples:
./fireboom dev

Flags:
      --active string     Mode active to run in different environment
      --enable-auth       Whether enable auth key on dev mode
  -h, --help              help for dev
      --web-port string   Web port to listen on (default "9123")

指定面板端口

默认情况下,控制台监听端口:9123,通过参数--web-port可指定端口。

fireboom start --web-port 9123

指定环境变量

默认情况下,环境变量用文件:.env 。

使用 --active 参数,指定启用的环境变量。

./fireboom dev --active test

例如,上述命令指定激活的环境变量文件为:.env.test 。

开启面板保护

使用参数--enable-auth,开启面板保护,开启后输入秘钥才能访问控制台。

./fireboom dev --enable-auth

秘钥位于根目录的authentication.key文件中。

生产模式

cd project-name
./fireboom start

飞布将执行下述逻辑:

  • 启动控制台:启动控制台,但需要输入秘钥才能访问

  • 启动API:根据历史配置启动核心引擎,暴露 REST API 服务。(见上述步骤4)

生产模式下,通过界面修改配置,不会触发自动编译,以保证服务稳定。

帮助命令

# 查看支持的所有参数
./fireboom start --help     
Start the fireboom application in production mode without watching

Usage:
  fireboom start [flags]

Examples:
./fireboom start

Flags:
      # 同上
      --active string        Mode active to run in different environment (default "prod")
      --enable-swagger       Whether enable swagger in production
      --enable-web-console   Whether enable web console page in production (default true)
  -h, --help                 help for start
      --regenerate-key       Whether to renew authentication key in production
      # 同上
      --web-port string      Web port to listen on (default "9123")

开启swagger文档

生产模式默认关闭swagger文档,使用参数--enable-swagger开启:

./fireboom start --enable-swagger

重新生成秘钥

使用参数--regenerate-key,更新秘钥:

./fireboom start --regenerate-key

构建命令

构建 生产模式所需要的产物,与fireboom start配套使用。

cd project-name
./fireboom build

执行逻辑同 fireboom dev 的1-3步骤。

升级飞布

升级Fireboom到最新版本

# 升级飞布命令行
# cd project-name
curl -fsSL www.fireboom.io/update | bash
上一页概览下一页控制台

最后更新于1年前

这有帮助吗?