zhangbinhub / acp-admin-standalone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

acp-admin-standalone

此项目已不再更新,由于某些不可抗因素,已转移至https://gitee.com/zhangbinhub/acp-admin-standalone

  • 使用Application Construction Platform 应用构建平台作为脚手架
  • 基于 Spring Boot 的单机版,基于 Spring Cloud 版本请查看这里
  • 该项目是前后端分离架构中的“后端部分”。前端工程

相关组件版本

技术栈

  • joda-time
  • okhttp
  • netty
  • xstream
  • hibernate
  • jackson
  • poi
  • swagger2
  • junit5

一、环境要求

  • jdk 11
  • gradle 6.5+
  • kotlin 1.5+

二、gradle 脚本配置及使用

(一)配置文件

定义外部依赖版本号

编译时定义的环境变量

定义项目/模块结构

gradle全局参数:

  • gradleVersion:gradle版本号
  • group:对应打包时的最外层groupid,最终的groupid还会加上模块路径,例如groupid.acp.core
  • version:版本号
  • encoding:编译字符集
  • mavenCentralUrl:maven**仓库地址
  • javaVersion:jdk版本号

公共构建脚本

(二)自定义任务

  • clearPj 清理所有输出文件
  • release 编译、打包并输出
    • 如需编译打包对应环境,命令中使用参数 active,例如
    gradlew project:release -Pactive=test
    

(三)升级命令

    gradlew wrapper --gradle-version=7.4 --distribution-type=all

三、工程说明

  • 工程全局默认使用 UTF-8 字符集
  • gradle 目录下为相关配置文件
  • swagger url : /doc.html

四、启停 SpringBoot 应用

  • jvm 参考参数
  • 启停脚本模板(Linux),根据实际情况修改第2行 APP_NAME 和第3行 JVM_PARAM 的值即可,和 SpringBoot 应用的 .jar 放在同一路径下
  • 启停脚本(windows),根据实际情况修改第1行末尾需要执行的 jar 名称,和SpringBoot应用的 .jar 放在同一路径下
  • windows:修改server.bat内相关参数后,直接运行即可
  • Linux 命令:
命令 描述
./server.sh 查看可用参数
./server.sh status 查看系统运行状态
./server.sh start 启动应用
./server.sh stop 停止应用
./server.sh restart 重启应用

五、说明

  • 统一认证服务,集成 oauth2
  • 提供全套权限体系服务,包含客户端应用管理、用户管理、机构管理、角色管理、权限管理、token管理、运行参数管理等
  • 统一认证服务:token 存储于 Redis,user 及 client 信息可扩展配置
url 描述
/oauth/authorize 申请授权,basic认证保护
/oauth/token 获取token的服务,url中没有client_id和client_secret的,走basic认证保护
/oauth/check_token 资源服务器用来校验token,basic认证保护
/oauth/confirm_access 授权确认,basic认证保护
/oauth/error 认证失败,无认证保护

查看认证过程

(一)数据初始化

执行 oauth-server 模块下的 pers.acp.admin.oauth.nobuild.InitData.doInitAll() 单元测试

(二)接口功能

提供生成token、验证token、应用管理、机构管理、参数管理、角色管理、用户管理、菜单管理、权限功能管理等接口,接口详情请在浏览器中访问 /doc.html 页面

(三)运行参数
名称 描述 备注
PASSWORD_COMPLEXITY_POLICY 0 密码复杂度策略;0:不限制,1:数字+字母,2:数字+字母+英文特殊符号`~!@#$%^&*()+=|{}':;,"[].<> 默认0
PASSWORD_UPDATE_INTERVAL_TIME 7776000000 修改密码间隔时间,单位:毫秒 密码过期之后,会要求强制修改密码;默认90天
(四)自定义认证方式

六、环境变量及启动参数

变量名 描述 默认值 说明
acp_profile_active 激活的配置环境 dev 服务器部署时建议java启动命令加入参数 -Dacp_profile_active 或 --acp_profile_active;容器部署时指定环境变量即可
acp_server_port 服务启动端口 0(随机端口) 服务器部署时建议java启动命令加入参数 -Dacp_server_port 或 --acp_server_port;容器部署时指定环境变量即可。服务不需要外部直接访问时,建议保持默认值。注:admin-server默认值:9099,gateway-server默认值:8771
acp_log_path 日志路径 logs/${spring.application.name} 服务器部署时建议java启动命令加入参数 -Dacp_log_path 或 --acp_log_path;容器部署时指定环境变量即可
acp_jvm_param JVM启动参数 -server -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms256m -Xmx512m -Djava.library.path=./libs -Dfile.encoding=utf-8 该环境变量在容器部署时使用

七、JVM启动参数

-server -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms256m -Xmx512m -Djava.library.path=./libs -Dfile.encoding=utf-8

八、打包OCI镜像

bootBuildImage {
    docker {
        host = "tcp://localhost:2375"
        tlsVerify = false
    }
    imageName = "${group}/${project.name}:${version}"
    environment = [
            "BP_JVM_VERSION"              : "11.*",
            "BPE_APPEND_JAVA_TOOL_OPTIONS": " -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Dfile.encoding=utf-8"
    ]
}

About

License:Apache License 2.0


Languages

Language:Kotlin 73.3%Language:Java 26.7%