系统定义文件
系统定义文件是 FunctionCat 函数猫中用于定义和管理系统的核心文件。它提供了一种统一的方法来描述系统的环境、应用、服务、认证和路由的定义、和交付管理。
系统定义文件的作用
-
环境定义
- 系统定义文件定义了系统中所有环境(Env)的设置,包括开发、测试和生产环境。每个环境可以映射到项目不同的 Git 分支。
-
应用和服务定义
- 系统定义文件描述了系统中所有应用和服务的详细定义,包括
web_frontend
和web_api
应用类型。它允许开发者指定应用的构建和部署。
- 系统定义文件描述了系统中所有应用和服务的详细定义,包括
-
认证定义
- 系统定义文件支持
basic auth
和api_key auth
两种认证机制。认证的配置可以通过引用环境变量(格式为${{vars.KEY_NAME}}
)来实现。
- 系统定义文件支持
-
环境变量声明
- 必须在系统定义文件中声明哪些环境变量是有效的。只有声明的环境变量才会被视为有效,否则无法被工作负载(目前只支持
web_api
应用)使用。
- 必须在系统定义文件中声明哪些环境变量是有效的。只有声明的环境变量才会被视为有效,否则无法被工作负载(目前只支持
-
系统定义文件管理方式
- 由项目管理(functioncat.yaml 文件):系统定义文件可以由 Git 项目内的
functioncat.yaml
文件管理,分布在各个分支中。 - 由系统管理:系统定义文件也可以由系统管理,直接在 FunctionCat 函数猫控制台提交。系统管理模式下,所有环境共享这个 系统定义文件文件。
- 由项目管理(functioncat.yaml 文件):系统定义文件可以由 Git 项目内的
使用系统定义文件
-
创建和编辑
- 开发者可以通过系统定义文件编辑器直接在 FunctionCat 函数猫控制台中创建和编辑 系统定义文件文件。
-
交付 -系统定义文件是自动化流水线和部署的基础,确保所有环境的定义一致性和可重复性。
概念关系
概念 | 关系 |
---|---|
系统(System) | 如果有项目管理,那么项目关联的 Git 仓库的每个 Git 分支都有一个定义文件。如果是由系统管理,那么一个系统只会有一个系统定义文件 |