概念介绍系统定义文件

系统定义文件

系统定义文件是 FunctionCat 函数猫中用于定义和管理系统的核心文件。它提供了一种统一的方法来描述系统的环境、应用、服务、认证和路由的定义、和交付管理。

系统定义文件的作用

  1. 环境定义

    • 系统定义文件定义了系统中所有环境(Env)的设置,包括开发、测试和生产环境。每个环境可以映射到项目不同的 Git 分支。
  2. 应用和服务定义

    • 系统定义文件描述了系统中所有应用和服务的详细定义,包括 web_frontendweb_api 应用类型。它允许开发者指定应用的构建和部署。
  3. 认证定义

    • 系统定义文件支持 basic authapi_key auth 两种认证机制。认证的配置可以通过引用环境变量(格式为 ${{vars.KEY_NAME}})来实现。
  4. 环境变量声明

    • 必须在系统定义文件中声明哪些环境变量是有效的。只有声明的环境变量才会被视为有效,否则无法被工作负载(目前只支持 web_api 应用)使用。
  5. 系统定义文件管理方式

    • 由项目管理(functioncat.yaml 文件):系统定义文件可以由 Git 项目内的 functioncat.yaml 文件管理,分布在各个分支中。
    • 由系统管理:系统定义文件也可以由系统管理,直接在 FunctionCat 函数猫控制台提交。系统管理模式下,所有环境共享这个 系统定义文件文件。

使用系统定义文件

  • 创建和编辑

    • 开发者可以通过系统定义文件编辑器直接在 FunctionCat 函数猫控制台中创建和编辑 系统定义文件文件。
  • 交付 -系统定义文件是自动化流水线和部署的基础,确保所有环境的定义一致性和可重复性。

概念关系

概念关系
系统(System)如果有项目管理,那么项目关联的 Git 仓库的每个 Git 分支都有一个定义文件。如果是由系统管理,那么一个系统只会有一个系统定义文件