建设共享能力中心

更新时间:
复制 MD 格式

本文为您介绍如何在BizWorks中建设一个完整的中心应用,包括创建应用、生成代码、完成应用部署。

前提条件

  • 已完成项目创建。

  • 当前账号拥有项目权限。

  • 已准备好代码仓库和访问凭证,供代码库配置使用。

步骤一:创建中心应用

中心应用是利用BizWorks平台进行建模、开发、部署并运维的应用,提供代码生成等能力,能够加快应用开发速度。本文以创建交易中心应用为例,实现基础交易、预售交易,以及交易域下基础能力。

  1. 登录BizWorks,在选择平台下拉列表中选中微服务开发平台

  2. 单击页面右上角a7.png图标或其文本框区域,在下拉列表中单击目标项目名称,单击应用页签。在应用列表页面,单击新增应用

  3. 创建应用面板,选中根据模板创建,单击下一步。其中,根据模板创建会根据所选模板生成代码并提交到指定代码仓库;空应用用于创建未配置的应用空间,可关联已有代码仓库进行开发部署;托管应用用于将已开发完成的应用部署到BizWorks平台统一运维管控。

  4. 创建应用选择模板配置向导页,选中中心应用DDD模板,单击下一步

  5. 根据模板(ddd-template)创建应用面板的应用基本信息配置向导页面,设置相关参数。具体操作,请参见创建中心应用(DDD模板)

  6. 可选:在模板基础配置向导页面,设置GroupId,选择Spring Boot版本,且按需完成其他配置项设置或修改后,单击下一步

  7. 可选模板高级配置向导页面,您可添加一个或多个当前项目中的限界上下文。完成设置后,单击保存

    重要
    • 限界上下文如果已经被其他应用关联了,则不能被再次关联。

    • 支持关联BizWorks建模平台的技术模型产物,并围绕模型信息在脚手架中生成代码。如果未关联则默认不基于模型生成代码,后续在应用详情页中配置关联。

    关联模型区域,单击添加按钮选择需要关联的限界上下文及版本,完成后单击保存

    创建完成后,打开该应用的应用开发 > 代码生成页面,您可以看到代码已经生成。

步骤二:生成代码

根据模型设计生成代码,并将代码提交到代码仓库。

重要

如果要生成代码,请您确保当前应用为中心应用,且已关联了限界上下文。

  1. 单击页面右上角image.png图标或其文本框区域,在下拉列表中单击目标项目名称后,单击应用页签。在应用列表页面单击目标中心应用名称。image

  2. 在目标中心应用左侧导航栏中,选择应用开发 > 代码生成

  3. 代码生成页面,单击目标分支名称,在代码生成面板您可以查看相关代码详情。代码详情包括项目构建方式(Maven Project)、开发语言(JAVA)、框架类型(SpringBoot)、打包方式(JAR)、应用版本(如 v1.0.0)及其状态、代码分支(如 develop_20231020_105555),以及项目元信息(GroupIdArtifactIdVersion)等。

    代码生成后,您可以进入对应的代码仓库,查看生成的分支,包含App、Entry、Domain、Infrastructure、Client、ExtensionStarter7个基础模块(Module)。模块具体说明,请参见代码模块说明

步骤三:部署应用

  1. 在目标中心应用左侧导航栏中,选择应用部署 > 实例管理

  2. 应用部署页面,选择需要部署的环境,单击目标环境下的虚线框区域。

    说明

    应用部署页面不仅支持显示一个环境下的多个实例,以及每个实例下的工作负载,而且能够显示每个工作负载的类型。

    在对应环境的部署实例区域,单击创建部署实例即可新建部署实例;已创建的实例会显示实例 ID、执行状态、操作人及操作时间等信息。

    只有企业级用户、项目负责人和应用负责人账号角色,既能看到开发环境测试环境下的环境信息,也能看到预发环境生产环境下的环境信息,并能进行部署、更新实例等操作。其他账号角色只能看到开发环境测试环境下的环境信息,在相应的环境下也能进行部署、更新实例等操作。

    关于BizWorks的账号体系的详细信息,请参见平台账号和权限说明

  3. 新建实例部署-部署配置面板,完成部署配置,单击下一步。在弹出的 新建实例部署 - 部署配置 页面中,除应用来源和流水线外,还需配置以下内容:部署策略 支持 默认策略(按滚动方式发布,每次启动一个新副本,就绪后停掉一个老副本,直到全部完成)和 自定义策略网络配置 区域提示实例首次部署不包含网络配置,请在部署成功后添加实例的网络访问策略;资源配置 区域可设置 实例总数 及单实例资源配额,包括 CPU资源预留Mem资源预留CPU资源限制Mem资源限制

    相关配置项说明请参见下表。

    配置项

    说明

    应用来源

    选择应用版本下拉列表中选择目标应用版本,您可以选择已发布或开发中的版本。

      • 如果选择代码,且选择的版本状态为开发中,则还需要选择代码分支,设置Commit ID(非必填,不填写Commit ID时,默认使用分支的最新版本)。

      • 如果选择镜像,则单击选择镜像,在选择镜像对话框中,选中目标镜像后,单击确定。如果选择镜像,则在选择镜像弹窗中,根据生成时间代码信息镜像Tag芯片架构等信息选择目标镜像,然后单击确定

      说明

      选择镜像对话框中列出的镜像记录范围来自流水线运行(详见查看镜像列表信息),平台同时会对镜像记录自动筛选,筛选条件为“镜像生成时的应用版本=此次实例部署的应用版本,镜像生成时的芯片架构=此次实例部署的目标部署环境的芯片架构”。

      • 根据版本发布时选择的内容来决定使用何种来源,版本发布过程详见创建和发布中心应用版本

      • 版本发布时选择代码方式,则部署该版本时需要进行完整代码编译构建和部署过程。

      • 版本发布时选择镜像方式,则部署该版本时仅部署镜像。

      说明

      推荐版本发布时选择镜像方式。

    流水线

    选择流水线下拉列表中,选择目标流水线。支持三类流水线,详见管理中心应用流水线

    部署配置

    • 部署策略

      • 默认策略:按照滚动方式进行发布,每次启动一个新副本,就绪后停掉一个老副本,直到全部完成。

      • 自定义策略:可选择Pod按百分比

    • 高级选项:单击添加,完成相关配置项设置。

      容忍度:支持选择目标环境上已经部署成功的记录为基础,在其基础上确定应用模板需要的镜像信息、部署参数等。

      容忍度配置项包含 Key操作符Value效果时间(秒)字段,可单击删除移除已添加的配置行。

      KeyValue的配置规则如下:

      • Key

        • 不能超过253个字符。

        • 支持字母、数字、短划线(-) 和半角句号(.)。

        • 需以字母、数字字符(a~z、0~9、A~Z)开头和结尾。

      • Value

        • 不能超过63个字符。

        • 支持字母、数字、短划线(-)和半角句号(.)。

        • 如果标签值不为空,则需以字母、数字字符(a~z、0~9、A~Z)开头和结尾。

    网络配置

    • 实例首次部署不包含网络配置,需要在部署成功后添加实例的网络访问策略。

    • 如果部署实例的环境所属的集群为阿里云BizWorks Serverless公有版时,则需要在实例部署或更新时指定实例网卡的安全组支持使用环境的默认安全组使用现有安全组

    资源配置

    配置实例总数单实例资源配额

    • 如果您部署实例的环境所属的集群为阿里云容器服务Kubernetes版(ACK) 阿里云容器服务Kubernetes版(ASK)时,您可填写CPU和内存配额:

      • CPU资源的约束和请求以CPU为单位,如果数值为0.1则等价为100 mCPU;

      • 内存的约束和请求以字节为单位,如果数值为1024 MiB则等价为1024 MB。资源限制需大于资源预留。

    • 如果您部署实例的环境所属的集群为阿里云BizWorks Serverless集群,您只能选择vCPU内存的已有配额选项。

  4. 新建实例部署 - 环境配置面板中,完成环境配置后,单击开始部署。环境配置面板包含以下配置项:生命周期管理(启动命令、启动参数、启动后命令PostStart、停止前命令PreStop)、环境变量(按Key/Type/Value配置自定义变量)、存储(配置存储类型、挂载源和容器中的路径)、健康检查(Liveness检查,可设置initialDelaySeconds、PeriodSeconds、TimeoutSeconds等参数,检查模式支持httpGet并指定Path、PortScheme)以及应用监控(支持阿里云ARMS类型)。

    1. 可选:设置生命周期管理

      7df008c2411">开启 生命周期管理 开关后,可配置以下字段:启动命令启动参数(单击 添加 按钮添加)、启动后命令(PostStart)(格式示例:["\/bin\/sh","-c","echo Hello from this PostStart handler"])、停止前命令(PreStop)(格式示例:["\/bin\/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"])。

    相关配置项说明,请参见部署和管理中心应用实例

    页面提示创建成功,同时环境中新增一个正在部署中的实例卡片。完成部署配置后,在开发环境页面单击创建部署实例。创建成功后,部署记录将显示执行中状态,同时展示部署实例名称、操作用户及执行时间等信息。