配置即代码

项目的配置可以放在一个文件里,由你提交并推送。发布一个发行版时,生产环境才会改变,同一个文件可以同时描述预发布和生产环境。

文件声明了什么

foir.config.ts 声明模型、API 密钥、钩子和登录提供方。它还涵盖操作、定时计划、位置、分群、面向你的用户的角色、应用安装、设计令牌、语言区域、上下文维度、变体目录、邮件文案和项目设置。对于API 密钥,提交的文件保存其声明:名称、类型、作用域,以及要使用的环境变量。CLI 在推送期间创建该密钥,并把它的值写入你的 env 文件中的该变量下。

推送会暂存一份草稿

foir push 先在服务器上做一次试运行,因此在写入任何内容之前就会收到拒绝信息。然后它写入草稿,生产环境继续提供已发布的副本,直到下一个发行版。新模型、新操作和新增的可选字段会随推送一同发行。其他一切都要等你来发布。

一次推送是对文件、项目当前状态和你上次推送这三者的三方合并。如果同一个字段在文件和控制台中都被修改,推送会停止并报告冲突。

用一份配置管理预发布和生产

一份配置可以在一个清单中声明多个具名项目,预发布和生产环境正是这样保持一致的。只有声明为目的地的值可以不同:端点、重定向 URI、来源、域名和发件人地址。任何其他差异都会使推送被拒绝,并指出字段及两边的值。如果项目中存在配置未声明的模型、操作、钩子、定时计划或上下文维度,推送同样会失败。

移除字段

把一个字段从配置中去掉,并不会立刻删除它的数据。该字段会作为已弃用保留 30 天,推送会写出一个决定文件,询问如何处理已存储的值:重命名、转换或删除。

阅读详情

配置文档介绍了文件格式、它可以声明的每一类内容、推送、发布和具名项目。