跳转到内容

Trantor 升级 0.9.x

主要变更

  • 在080基础上,实现了多环境,导致元信息发布流程变更
  • 运行时日志优化

多环境

0.9 主要进行了一部分 Trantor 自身的平台化,用主从 Meta Store 的概念实现了多环境。

多环境部署结构

image0.png

  • 主 Meta Store 部署于环境之上,管理各个环境的从 Meta Store。
  • 主 Meta Store 自身仅包含 DataStore,Gateway,Console 三个组件,该环境仅用于管理元信息,因此不部署 Workspace。
  • 从 Meta Store 分环境存储业务模块运行时元信息,元信息由主 Meta Store 发布而来。因此不部署 Console,仅部署 Workspace 用于承载业务模块实现的功能。每个从 MetaStore 的运行时元信息由主 Meta Store 的 Console 统一管理。

统一工作台、交付控制台环境变量变更

从 trantor 09x 开始, 不再会有单独的 addon 版本, 本地镜像和线上镜像将会使用一个.线上部署需要增加两个环境变量  META_STORE_URL GATEWAY_URL  环境变量的值可以从迁移前的 config.json 接口中获取 image1.png

环境注册

  1. 部署主 Meta Store。
  2. 部署从 Meta Store,并在环境变量中加入 SLAVE_ACCESSKEY 参数,任意值都可以。
  3. 在交付控制台上找到运行态模式,新增环境。注意访问凭证需要与部署的从 Meta Store 环境变量中的 SLAVE_ACCESSKEY 相同。
  4. image2.png

元信息注册逻辑流程

元信息包括模型、视图、行为、字典等信息,都通过下述流程生效到环境中。

image3.svg

传统模式元信息注册

通过 maven 插件完成元信息向研发态的注册。

升级 maven 插件

<plugin>
<groupId>io.terminus.trantor</groupId>
<artifactId>trantor-metadata-maven-plugin</artifactId>
<version>1.0.1-SNAPSHOT</version>
<configuration>
<modulePackageName>io.terminus.myModulePackage</modulePackageName>
<metaStoreURL>http://remoteMetaStoreURL</metaStoreURL>
</configuration>
<executions>
<execution>
<goals>
<goal>install</goal>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>

Deploy

080 插件 的主要区别是 deploy 元信息的阶段发生了改变,从 compile 改成了 deploy。 因此使用上需要在模块根目录下执行

Terminal window
mvn clean deploy -Dtrantor.deploy

该命令会自动向配置的 metaStoreURL 对应的 主 Meta Store 注册元信息。

Install

插件增加了一个向本地 cli 启动的 MetaStore 注册元信息的功能。向本地 cli 启动的环境注册元信息时会同时自动进行发布动作,无需手动进行下一步的元信息发布。 在模块根目录下执行

Terminal window
mvn clean install -Dtrantor.install

会向本地的 http://localhost:8082 注册元信息,如果有更改过 cli 中启动的 MetaStore port,也可以通过参数 -Dtrantor.install.url=http://localhost:8080 手动指定 MetaStore 地址。

元信息发布

元信息发布是将研发态的元信息发布到一个特定的环境中使其在运行态生效。进入交付控制台,新增一个发布计划。 image4.png 选择新增 资源发布 类型计划,并选择目标环境与要发布的模块版本。 image5.png 之后的流程与 080 相同。

环境迁移

新增发布计划,选择 **环境迁移 ** image6.png 选择一个原环境与要发布的目标环境,新建后点击执行即可迁移环境内资源。