云服务器内容精选

  • 包结构 图1 SQL包结构 变更多个逻辑库,需要创建多个目录,存放对应逻辑库的sql文件。 sql文件支持两种命名:upgrade.sql(增量脚本)和rollback.sql(回滚脚本)。 GeminiDB(for Cassandra)类型数据库sql文件后缀是cql。 DDL的package.json如下所示,主要是写ddl语句。 { "name": "${service_name}-ddl-sqlchange-cn-cbu",//数据库包的包名,包括站点、业务、服务、实例类型、实例名和包名等信息 "site_name": "cbu", //站点名,中国区为cbu,欧洲区为eu-cbu,亚非拉为aaa-cbu "business_name": "${business_name}", //AppStage业务控制台中业务定义的产品英文名称,查看方式请参考产品管理 "service_name": "${service_name}", //AppStage业务控制台中业务定义的服务英文名称,查看方式请参考服务管理 "instance_name": "${mysql_instance_cn_cbu}", //WiseDBA中纳管的数据库实例名称 "instance_type": " GaussDB 4MySQL", //数据库实例类型,支持GaussDB4MySQL/RDS4MySQL/GaussDB4Cassandra/GaussDB4OpenGauss,分别对应WiseDBA中的GaussDB(for MySQL)/RDS for MySQL/GeminiDB(for Cassandra)/GaussDB "type": "dbscript_ddl", //包类型,ddl语句固定为dbscript_ddl "version": "${package_version}" //数据库包的版本,即包坐标中的version字段,例如:1.0.1 } DML的package.json如下所示,主要是写dml语句。 { "name": "${service_name}-dml-sqlchange-cn-cbu",//数据库包的包名,包括站点、业务、服务、实例类型、实例名和包名等信息 "site_name": "cbu", //站点名,中国区为cbu,欧洲区为eu-cbu,亚非拉为aaa-cbu "business_name": "${business_name}", //AppStage业务控制台中业务定义的产品英文名称,查看方式请参考产品管理 "service_name": "${service_name}", //AppStage业务控制台中业务定义的服务英文名称,查看方式请参考服务管理 "instance_name": "${mysql_instance_cn_cbu}", //WiseDBA中纳管的数据库实例名称 "instance_type": "GaussDB4MySQL", //数据库实例类型,支持GaussDB4MySQL/RDS4MySQL/GaussDB4Cassandra/GaussDB4OpenGauss,分别对应WiseDBA中的GaussDB(for MySQL)/RDS for MySQL/GaussDB(for Cassandra)/GaussDB "type": "dbscript_dml", //包类型,dml语句固定为dbscript_dml "version": "${package_version}" //数据库包的版本,即包坐标中的version字段,例如:1.0.1 }
  • 文件结构 图1 软件包结构 表1 软件包结构说明 位置 类型 描述 config/ 文件夹 配置文件所在的目录。 libs/ 文件夹 打成的依赖包所在的目录。 package.json 文件 包描述文件。 说明: 无论是否使用自动部署,都必须包含package.json文件。 package.json文件必须放在zip包的根目录中。 config目录 图2 config目录 libs目录 图3 libs目录 package.json 软件包的package.json内容一般如下: { "type": "software", //软件包类型标识,固定写法,不能随便填写,否则导致电子流异常 "scope":"1180196813870297011", //填写为common时,组织下的所有产品都可以使用该软件包;填写产品ID时,该产品下的所有服务可以使用该软件包,在AppStage运维中心右上角的个人账号信息管理中,选择“租户管理”,查看产品ID "name": "WiseEyeDeployReleaseCenter", //可以自定义,建议使用微服务名称 "version": "{{VERSION_ID}}", //版本号,版本号如果重复,在后面加时间戳,不会覆盖原来的版本,支持英文、数字、“-”、 “_”、“()”、“ . ”、空格,包含其他字符会导致电子流异常 }
  • 包结构 IaC Spec包用于描述环境,IaC Patch包用于描述环境中的一个组件。 IaC Spec包 IaC Spec包结构如表1所示。 表1 包结构 位置 类型 个数 描述 iacspec_{service}_{version}.zip 文件 1 IaC压缩包 └── package.json 文件 1 包描述文件 └── global/ 文件夹 1 全局默认的IaC描述,包含完整文件结构 └── meta.yaml 文件 1 变更策略描述 └── environment/ 文件夹 1 公共资源 └── resources.yaml 文件 1 公共资源列表 └── values.yaml 文件 1 公共资源参数值 └── {microservice}/ 文件夹 0-N 微服务资源 └── resources.yaml 文件 1 微服务资源列表 └── values.yaml 文件 1 微服务资源参数值 └── configs/ 文件夹 1 微服务配置目录 └── config_schema.yaml 文件 1 微服务配置字段定义 └── {cluster}_config_records.yaml 文件 0-N 微服务集群配置项 └── specs/ 文件夹 1 环境特定的IaC描述,结构与global相同,但仅包含与global有差异的文件 └── cn_dev_default/ 文件夹 1 研发联调环境 └── environment/ 文件夹 0-1 环境公共资源 └── values.yaml 文件 0-1 公共资源参数值 └── {microservice}/ 文件夹 0-N 微服务资源 └── values.yaml 文件 0-1 微服务资源参数值 └── configs/ 文件夹 0-1 微服务配置目录 └── {cluster}_config_records.yaml 文件 0-N 微服务集群配置项 └── cn_test_default/ 文件夹 1 测试联调环境 └── cn_product_default/ 文件夹 1 中国区生产环境 └── eu_product_default/ 文件夹 1 欧洲生产环境 └── ru_product_default/ 文件夹 1 俄罗斯生产环境 └── aaa_product_default/ 文件夹 1 亚非拉生产环境 样例: └── iacspec_WiseEyeDeployService_1.1.2.zip ├── global/ | |── meta.yaml | |── environment/... | |── WiseEyeDeployConductorService/... | ├── WiseEyeDeployRepoService/... | └── WiseEyeDeployConsoleService/ | ├── config/ | | ├── config_records.yaml | | └── config_schema.yaml | ├── resources.yaml | ├── packages.yaml | └── values.yaml ├── specs/ | |── cn_dev_default/... | ├── cn_test_default/... | └── cn_product_default/ | |── WiseEyeDeployConductorService/... | ├── WiseEyeDeployRepoService/... | └── WiseEyeDeployConsoleService/ | |── values.yaml | └── config/ | └── config_records.yaml └── package.json package.json的字段如表2所示。 表2 字段 位置 类型 必填 描述 type string 是 包类型,常量:iacspec。 name string 是 包名称,格式:service/{service-id},其中service-id为服务ID。 version string 是 版本号 样例: { "type": "iacspec", "name": "service/com.huawei.wiseeyedeployservice", "version": "1.0.0" }