# 本地开发环境

# 概述

此章节为本地环境的搭建方式。

# 开发工具

开发工具尽量按最简化的方式进行,以下为开发环境

  • [必须] mysql8
  • [必须] redis5
  • [必须] jdk17+
  • [BaseSearch] postgresql(开启pgvector)
  • [BaseSearch] elasticsearch 7.9:
  • [BaseStorage] minio/qiniu: 当前使用七牛

DevOps套件:

  • Nexus: 阿里云Codeup
  • CICD: 阿里云Codeup流水线
  • 镜像仓库: 阿里云仓库镜像
  • K8S环境: 本地服务器自建

PostgreSQL目前使用阿里云postgresql个人版

工具套件(windows): 链接: https://pan.baidu.com/s/1P0W8waO3HGXIJXIt853Usw?pwd=46m6 提取码: 46m6

# 工程说明

工程主要分为以下工程:

工程名统一以alinesno-infra为开头

  • 公共工程(common)
  • 基础服务(base)
  • 数据服务(data)
  • 智能服务(smart)
  • 业务服务(bus)
  • 运营服务(plat)

这里不是完全的设计是以类似于宏服务的设计,而不是仅微服务(包含)设计

# 工程启动

这里每个工程默认都依赖base-authority服务接口,这个是每个工程最小工程依赖,每个是单独的服务能力,下面演示基础服务能力的启动:

  • 权限服务:base-authority
  • 存储服务:base-storage
  • 网关服务:base-gateway
  • 平台服务:base-platform/控制台服务: plat-console

# 权限服务

这里以base-authority服务为例子,后面的工程都最小依赖是base-authority服务。默认每个服务都有权限和登陆

  1. 本地Idea导入公共工程,然后install本地(或者deploy到私服库) 地址: https://gitee.com/alinesno-infrastructure/alinesno-infra-common 如果缺少actable查看 (opens new window)

  2. 本地Idea导入base-authority 地址: https://gitee.com/alinesno-infrastructure/alinesno-infra-base-authority

    先启动auth认证服务: alinesno-infra-base-identity-auth-application 访问以下地址:

    http://localhost:27001
    

    应该可以看到登陆界面,如果没有看到,重新install一下整个工程

    启动权限服务后台: alinesno-infra-base-authority-boot

    启动权限服务前端:alinesno-infra-base-authority-ui

    访问alinesno-infra-base-authority-ui 登陆即可。

# 存储服务

存储服务是单独的管理平台

一般开发的情况,base-authority服务和auth服务会先发布到开发环境,其它工程不需要关注。

  1. 存储服务启动boot工程即可。

# 网关服务

网关服务是单独的管理平台

网关服务包含两部分,一个是路由转发服务,另一个是管理服务,工程名称如下:

  1. 启动路由转发服务
  2. 启动管理界面服务

# 平台服务

  • 文档管理服务: platform-press
  • 平台服务:base-platform
  • 控制台服务: plat-console

平台服务与控制台服务是配套一起的,平台服务做为控制台的后台接口管理,控制台服务统一的SaaS入口,类似于阿里云控制台。 所以为了更方便维护(还有层级关系不同),分成两个(除文档)工程维护。

  1. 启动平台服务boot工程
  2. 启动平台服务ui工程

控制台工程也类似

  1. 启动控制台服务boot工程
  2. 启动控制台服务ui工程

文档管理服务:

  1. 使用的是vuepress框架搭建

# 其它工程

在权限/基础服务(用到的)/网关/平台服务在部署环境起来之后,其它服务只需要通过adapter适配服务连接到指定的模块即可,具体看工程。

相关启动配置文档可查阅以下部署目录:

  • .github/workflows目录: github action发布配置,包括镜像打包、参数配置
  • deploy目录: 发布脚本,包括k8s/docker-compose等

# 其它