1. 目标
交付场景是复杂的,而云巧作为面向产业的首个产业数字组件中心,目标正是解决复杂产业交付场景中的研发提效问题。
我们在云巧官方首页有介绍云巧“可组装式”理念的白皮书,在“云巧快速上手”中有上手云巧的快速指引。但从理论、文档到实际落地之间还有不小的距离。
本Workshop旨在通过一个贴近真实生产,但又相对比较简单的软件工作坊,让你可以亲手体验云巧的能力。
2. 背景
在首届云巧公益开发大赛中,云巧携手生态合作伙伴,通过技术支持了多个乡村振兴项目。其中之一就是青龙板栗树认养项目。我们通过云巧,帮助公益项目组快速搭建了会员管理能力。你也可以通过这个Workshop也来体验一下。
2.1 业务需求
会员管理也是交付场景中一个常见的业务模块。除了最基本的会员增删改查之外,还通常包含会员等级、基本、权益等复杂业务规则,以及这些业务规则的动态配置。复杂的业务逻辑、良好的扩展性、支持定制开发,这些大多数低代码平台的弱点,却是云巧的强项。
作为公益认养平台的统一后台管理的底座,除了要实现会员管理本身的功能之外,还需要实现一些通用的能力,包括用户权限管理、用户登录认证、统一页面布局、简单前端页面搭建、集成其他定制开发(下文简称定开)的业务组件等。
2.2 系统架构设计
我们的后台管理需要支持用户、角色等的管理,以及支持运营角色对会员规则的管理。所以我们选配了云巧4A统一管控组件(下文简称4A组件)。
后台管理也需要统一的整体布局、登录认证。如果有一些简单的CRUD页面可以通过前台搭建出来,也可以大大降低开发人员的负担,所以我们也选配了门户组件。
作为交付生产力平台,数字化工作台提供了Workshop底层的代码托管、集群资源分配、CI/CD流水线、日志统一收集管理等DevOps基础能力。要使我们的组件能使用工作台提供的云资源,以及使组件之间可以互相集成配合,还需要一系列的配置工作。云巧集成助手可以帮助我们简化这些配置工作,所以我们也选配了云巧集成助手。
2.3 Workshop设计
本Workshop预计分为3个部分:
10分钟部署
10分钟搭建
10分钟定开
总计30分钟。
2.4 能力要求
完成本Workshop只需要你具备一些基础的开发知识,即使是非技术同学也可以轻松尝试。
3. 前置准备
可以登录数字化工作台。如果你有阿里巴巴账号,默认就有权限可以登录。如尚无登录账号可以参考工作台账号登录帮助文档
拥有一个工作台项目的研发角色权限
如果你尚无创建项目权限的话可以联系@墨月
在交付项目的“研运-运维-资源”里申请RDS和Redis资源
资源类型选择“公共云-公共池”
提交资源申请后需要等待审批
需要注意要将自己的公网ip添加到白名单(可以在例如 http://www.net.cn/static/customercare/yourip.asp等站点中查询公网IP)
通过数据库工具(如MySQL Workbench/DataGrip/Navicat等)连接RDS,创建数据库
创建数据库inital-data,供云巧集成助手使用
创建数据库uuc和upc,供4A统一安全管控组件使用
创建数据库portal-admin,供门户组件使用
创建语句:
create schema 数据库名;
4. 下行云巧组件
所有的云巧组件都是托管在云巧资产市场里的。本步骤的目标,就是选择我们Workshop所需要的组件,装配到我们的交付项目里。
做一个可能不完全恰当的比喻,就像准备烧一锅土豆炖肉之前,我们需要到超市分别将土豆、肉、酱油等放到购物车并下单。
4.1 生成云巧项目配置单
进入工作台后,点击左上方九宫格里的“云巧资产市场”按钮,进入云巧资产市场。
进入云巧资产市场后,选择“搜索资产”按钮下方的“立即使用资产”按钮,进入资产配置单。
可以将资产配置单视为我们到超市采购的购物清单。
填写配置单基本信息。由于我们是直接下行到工作台的交付项目里,所以不需要勾选“仅用于部署包”。
其中每个研发项目可以对应一个配置单。如果分多次装配,需要下行到不同的研发项目中。
通过关键字搜索,分别选择以下3个组件:
云巧4A统一安全管控组件
门户组件
云巧集成助手
点击“完成”后,完成配置单。
4.2 初始化配置单
页面会自动跳转到已完成的配置单。如果后续想寻找已创建的配置单,也可以从“我的资产-项目资产”来寻找。
点击“配置单初始化”按钮。
此时会弹出初始化的选项。建议勾选“资源预检”和“运行流水线”
“资源预检”会检查交付项目中是否已经有所需的资源
“运行流水线”会自动运行流水线来部署应用实例
接下来等待8分钟左右,就可以看到流水线全部运行成功,下行完成。
点击上方的“查看研运空间”按钮,就可以跳转到对应的交付项目查看了。
5. 初始化应用
5.1 待初始化的配置项
我们下行完成的组件的源代码已经托管在我们工作台项目的代码仓库里了。但为了让应用可以成功启动,还需要对应用进行一系列环境变量的配置。通常包含:
对接其他微服务应用的K8S endpoint地址
所依赖资源的地址、端口、用户名、密码
5.2 运行云巧集成助手
云巧集成助手可以在所有的组件都启动完毕后,获取到组件的静态数据和运行时数据。
所以我们需要在下行完毕后,手工重新运行一下云巧集成助手后端的流水线(以后会优化为不需要手工再次运行流水线)。
等待流水线运行完成(大约3分钟)后,点击项目中的“云巧集成助手前端(数据预集成前端)”应用的运维信息里的域名,打开云巧集成助手。
正常的话,已经默认获取到k8s管理文件。点击“下一步”。
在“添加资产目录文件”步骤,已经默认取到了门户组件初始化的manifest配置,点击“下一步”。
如果资产目录文件的内容为空的话,可以从“云巧集成助手后端”源代码的asset-market/data/manifest.yaml文件中的内容拷贝到编辑器内。
在应用设置界面,确认所有的应用设置都已读取完毕,点击“下一步”
在同步到门户组件确认后点击“下一步”,最后完成初始化。
5.3 问题排查
应用的首次启动经常不那么顺利。即使我们已经有云巧集成助手作为辅助,依然会遇到一些问题。常见问题及排查方法可以参考如下:
数据库未提前创建
症状:部分几个应用的设置没有读取完毕
排查手段:逐个点击后端应用的Pod的日志,看里面是否有未找到数据库的报错
解决方法:创建数据库后重新运行应用的流水线。我们核心组件都使用了flyway。在应用启动的时候,如果检测到数据库,并且数据库没有创建表,会根据代码中的DML脚本自动创建表和初始化数据。
6. 验证组件成功启动
6.1 验证4A组件
找到“4A-前端”应用,点击其域名,即可打开4A登录页面。
然后可以参考4A组件文档中“体验登录&4A管理流程”章节,输入默认账号密码 17801130175/Qwer@2019 ,登录4A系统。
你可以自己创建一个新的用户:
6.2 体验门户组件
找到“门户组件Admin-前端”应用,点击其域名,即可打开门户组件前端
然后可以参考门户组件文档中“功能快速上手”章节,了解门户系统的能力。
我们会在Workshop的下一篇继续深入体验。
7. 更多阅读
关于4A组件的更多信息,可以参考: