CubePy微服务框架——前端主门户(portal)
CubePy微服务框架 使用基于 ServiceBoot微服务引擎 开发的前端微服务——portal——来为整个微服务应用系统提供统一的前端主门户入口界面。
portal前端界面基于Angular框架,使用TypeScript和HTML等语言开发。
portal使用Consul来进行微服务注册和发现。在portal启动时,它首先尝试与Consul建立连接并在Consul上注册自己。如果Consul未就绪,该微服务将启动失败。
基本配置
-
监听端口
-
服务注册与发现:
- 非k8s环境: Consul(8500)
- k8s环境: k8s内置DNS
运行/调试/二次开发
-
下载代码并安装前端依赖包
第一次从Git服务器克隆本项目代码后,应先在本项目 webapp 目录下执行如下命令以安装前端开发需要的Node依赖:
$ cd webapp
$ npm install
-
开发环境中运行portal之前,需要先拉起项目依赖的后台docker,以及uaa和gateway等微服务。
$ cd ~/cubenet/cubepy/dev
$ docker-compose up
参见 CubePy微服务框架 之README文档。
-
使用PyCharm打开本project所在目录。
-
建议在PyCharm中专门为本project新建一个专用Python虚拟环境,Python版本选择3.5以上。
-
在PyCharm的terminal窗口中执行如下命令安装依赖包:
$ sh pip-install-reqs.sh
-
在PyCharm窗口中右键单击“start.py”文件,选择“run 'start'”来启动前端服务。
-
每次前端代码改动后,在terminal窗口中运行:
$ cd webapp
$ ng build
或者
$ ng build --prod
来完成代码编译。
-
然后在浏览器中打开或刷新页面:
http://127.0.0.1:8080
gateway网关会自动将主页面路由至portal微服务来提供前端界面服务。
可以通过执行以下步骤来修改首页上显示的应用名称:
-
以admin帐号登录,或者具有ROLE_ADMIN角色的其他用户帐号登录。
-
进入“系统管理|应用管理”页面,创建一个新应用:
- 应用名称: <新应用名>
- URL: /
- 主题1: potal
- 应用简介: <新应用名副标题>
- 头像: <新的应用头像>
-
返回主页面。
-
各前端微服务的Angular代码修改之后,重复执行上述第7-9步。
-
开发者可以对portal代码进行二次开发。需要注意:portal中的前端源代码必须放在 webapp 目录下,编译打包后的前端代码必须放在 webapp/www 目录下。
-
开发完成后,可在terminal窗口中执行如下命令来生成微服务docker镜像:
$ serviceboot build_docker
或者
$ sh build-docker.sh