1 Star 0 Fork 181

thubier / dopaas

forked from wl4g / dopaas 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_CN.md 11.27 KB
一键复制 编辑 原始数据 按行查看 历史
wanglsir 提交于 2021-06-16 18:20 . fix: deploy script & readme

XCloud DoPaaS

XCloud DoPaaS

中文文档 | English version goes here

注:当前完全分布式版正在孵化中,不建议在生产环境使用!

一站式基于DevSecOps的PaaS平台解决方案

基于SpringCloud/Docker/ServiceMesh(istio),主要模块:统一资产管理中心(CMDB)、统一持续交付中心(分布式编译CI/CD)、IAM认证中心(rbac/oauth2/oidc/[saml2])、统一监控中心(sba/zipkin/promethous)、统一配置中心、统一作业中心(elasticjob/spark/flink/mr)、统一文档中心(swagger/rap)、统一开发中心(lcdp/autoGen),统一私有对象存储管理、统一库管理(git/nexus(maven/image))、Shell-Cli、多种工具链(hdfs/hbase/phoenix/oss)、即时通讯、轻量级风控等

Build Status License Maven JDK MySQL Redis Kafka Zookeeper Docker-ce QQ1 GithubStars GiteeStars Ubuntu CentOS

1. 开发及运行时技术栈(主要)

本项目主要基于 SpringBoot/Cloud/Dubbo 开发,支持传统单体 (standalone) 模式 和 完全分布式微服务 (cluster) 模式运行,源码结构被精心设计为 既是平台又是框架的示范.

  • 必须依赖:
    Spring Boot:2.3 +
    Spring Cloud:Hoxton.x +
    Eureka:1.10 +
    Zipkin:2.15 +
    Jdk:8 +
    Maven:3.5 +
    Mysql:5.6 +

  • 可选依赖:
    Kafka:2.3.1 +
    Zookeeper:3.6.0 +
    DockerCE:18.06 +
    CoreDNS:1.7.0 +
    MinIO:latest
    Elasticsearch(EFK):6.2.3 +
    Shardingsphere-Elasticjob:3.0.0 +

  • 二次开发指南

2. 部署与搭建

2.1 一键自动部署

适用于主机快速部署,部署脚本会自动探测安装包括:jdk、nginx、git、maven、node、eureka、zookeeper、及所有SpringBoot apps,但不包括 redis/redis cluster(选其一)、Mysql服务,这些需要您自行手动安装.

bash -c "$(curl -L https://raw.githubusercontent.com/wl4g/xcloud-dopaas/master/script/deploy/deploy-boot.sh)"
# 或
bash -c "$(curl -L https://gitee.com/wl4g/xcloud-dopaas/raw/master/script/deploy/deploy-boot.sh)"
  • 请注意按脚本提示,修改 deploy-env.sh 自定义环境配置然后重新执行 ./deploy-boot.sh , 由于是从源码编译部署, 请耐心等待大约 8~20min (第一次因需下载代码和依赖库会比较慢, 后续如需重新部署可根据实际情况设置 export buildForcedOnPullUpToDate=trueexport deployFrontendSkip=true 来跳过后端编译和前端等来加速).
  • 部署前先检查目标主机上是否已安装 nginx/zookeeper/eureka 等, 若有则建议先停止, 因为自动部署也会部署避免冲突.

集群管理工具:
./dopaas-ctl.sh

Usage: {start-all|stop-all|restart-all|status-all|<appName> <start|stop|restart|status>}
    start-all    Start all remote nodes apps.
     stop-all    Stop all remote nodes apps.
  restart-all    Restart all remote nodes apps.
   status-all    Query status all remote nodes apps.
    <appName> <start|stop|restart|status>   for example: {cmdb-facade restart}
        Restart only the cmdb-facade application of all remote nodes,
        The optionals are: zookeeper/eureka-server/iam-web/iam-facade/iam-data/cmdb-facade/cmdb-manager/... etc.

建议配置

运行模式 最低配置要求 说明
cluster CentOS7+ / Ubuntu18+ (4C+8G+) 当只有1台机时即为伪集群
standalone 2C+4G+ 单体应用

2.2 手动编译部署

适用于本地二次开发环境的搭建

2.2.1 修改 .m2/settings.xml

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public<url>
</mirror>

2.2.2 后端编译

按项目依赖顺序进行编译, 其中 mvn -P 选项有:springExecJar (打包为单个可执行jar)、mvnAssTar (打包为通用软件发布包),默认

git clone https://github.com/wl4g/xcloud-component.git # 上游较新(推荐)
或者 git clone https://gitee.com/wl4g/xcloud-component.git
mvn -f xcloud-component -U clean install -DskipTests -T 2C

git clone https://github.com/wl4g/xcloud-iam.git # 上游较新(推荐)
或者 git clone https://gitee.com/wl4g/xcloud-iam.git
mvn -f xcloud-iam -U clean install -DskipTests -T 2C

git clone https://github.com/wl4g/xcloud-dopaas.git # 上游较新(推荐)
或者 git clone https://gitee.com/wl4g/xcloud-dopaas.git
mvn -f xcloud-dopaas -U clean install -DskipTests -T 2C

2.2.3 前端编译

git clone https://github.com/wl4g/xcloud-dopaas-view.git # 上游较新(推荐)
或者 git clone https://gitee.com/wl4g/xcloud-dopaas-view.git
npm run dev # 开发调试
npm run build # 生产打包

2.3 初始数据库:首先准备一台MySQL5.6+实例,创建名为dopaas(utf8/utf8_bin)的库,再初始数据库

注:sql脚本需与源码版本对应,我们会定期更新,建议都使用最新

2.4 配置DNS虚拟解析(C:\Windows\System32\drivers\etc 或 vim /etc/hosts):

Standalone模式Hosts解析示例
Cluster模式Hosts解析示例

注:对外的服务使用的域名在不同环境下请对应sys_cluster_config.extranet_base_uri

2.5 快速搭建redis/docker集群(或自行搭建)

https://github.com/wl4g/docker-redis-cluster
https://gitee.com/wl4g/docker-redis-cluster

2.6 启动与测试访问

说明:
a. 尝试启动时无需指定任何jvm参数(即, 都使用默认配置), 如:默认仅会激活 dev 环境的配置;
b. 无论是运行 standalone 模式还是 cluster 模式,都可以分别对应(dev/fat/uat/pro)4种环境。

2.6.1 以 standalone 模式启动

只需运行以下启动类:

com.wl4g.StandaloneDopaas  
com.wl4g.StandaloneIam

2.6.2 以 cluster 模式启动

请运行以下启动类:

com.wl4g.EurekaServer  
com.wl4g.IamWeb  
com.wl4g.IamFacade  
com.wl4g.IamData  
com.wl4g.CmdbFacade  
com.wl4g.CmdbManager  
com.wl4g.HomeFacade  
com.wl4g.HomeManager  
com.wl4g.LcdpFacade  
com.wl4g.LcdpManager  
com.wl4g.UciFacade  
com.wl4g.UciServer  
com.wl4g.UdmFacade  
com.wl4g.UdmManager  
com.wl4g.UdsFacade  
com.wl4g.UdsManager 
com.wl4g.UmcFacade 
com.wl4g.UmcManager  
com.wl4g.UmcTracker 
com.wl4g.UmcCollector 
com.wl4g.UosFacade  
com.wl4g.UosManager  
com.wl4g.UrmFacade  
com.wl4g.UrmManager  

2.6.3 测试访问(推荐Chrome)

http://wl4g.debug    默认账号密码:root/wl4g.com

2.7 部署成功示例部分截图

提示:截图可能由于版本演变存在略微差异,如有问题请加交流群(联系在后面部分)

registered-eureka-apps

3. 子模块文档

  • UCI (Unified Continuous Integration)统一持续集成交付服务, CI/CD等
  • UMC (Unified Monitoring and Operation Center)统一监控运维中心, 应用健康实时监控、实时追踪、实时告警、ELK日志分析等
  • URM (Unified Repository Management)统一仓库管理, 源码仓库、构建包仓库、镜像仓库等
  • UCM (Unified Config Management)统一配置管理服务, 在线配置热更新如:DataSource、RedisClient等
  • CMDB (Configuration Management Database)统一资产管理, 主机、密钥、审计、DNS等基础设施资产管理等
  • UDM (Unified Document Management)统一文档管理, API/Swagger在线文档/Office/Pdf等
  • LCDP (Low Code Development Platform)低代码开发中心, 多种语言/架构完整项目自动生成(如springcloud/dubbo/golang/python/vue/angularjs等)、WebIDE、及各种开发者工具链等
  • UDS (Unified Distributed Scheduler)统一分布式调度管控中心, 如 支持ElasticJob任务、spark/flink任务等
  • UOS (Unified Object Storage)统一对象存储服务,基于springcloud开发支持NativeFS、HDFS、Aliyun OSS、AWS S3、GlusterFS等, Aliyun OSS, AWS S3, GlusterFS 等
  • UIM (Unified Instant Messaging)统一的即时通讯服务,方便项目人员及时沟通,安全分发内部资料.

4. 其他相关应用/组件文档

  • SHELL Shell Cli, 给应用添加类似hbase-shell的控制台功能
  • IAM 统一身份识别与访问管理服务,支持SSO/CAS、oauth2、opensaml等,同时支持多种部署模式(local/cluster/gateway)
  • Gateway 基于spring-cloud-gateway的企业级微服务网关, 可与CI整合实现金丝雀部署等等高级特性.

5. 如何交流、反馈、参与贡献?

如何共享代码

Java
1
https://gitee.com/thubier/dopaas.git
git@gitee.com:thubier/dopaas.git
thubier
dopaas
dopaas
master

搜索帮助