文章目录
一、持续集成流程说明
1. 大致流程解析
大致流程如下:
- 开发人员每天把代码提交到 Gitlab 代码仓库
- Jenkins从 Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库。
- Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器。
- 最后,用户可以访问到容器
二、服务器列表
服务器名称 | IP 地址 | 安装的软件 |
---|---|---|
代码托管服务器 | 192.168.74.11 | Gitlab |
持续集成服务器 | 192.168.74.8 | Jenkins,Maven,Git,JDK,Sonarqube,Docker18.06.1-ce |
Docker 仓库服务器 | 192.168.74.6 | JDK,Tomcat,Docker18.06.1-ce, Harbor1.9.2 |
生产部署服务器 | 192.168.74.7 | Docker18.06.1-ce |
黄色为需要安装的软件
三、SpringCloud 微服务源码概述
- 项目架构:前后端分离
- 后端技术栈:SpringBoot + SpringCloud + SpringDataJpa(Spring 全家桶)
- 微服务项目结构:
tensquare_parent: 父工程,存放基础配置
tensquare_common: 通用工程,存放工具类
tensquare_eureka_server: SpringCloud 的 Eureka 注册中心
tensquare_zuul: SpringCloud 的网关服务
tensquare_admin_service: 基础权限认证中心,负责用户认证(使用 JWT 认证)
tensquare_gathering: 一个简单的业务模块,活动微服务相关逻辑
- 数据库结构:
tensquare_user用户认证数据库,存放用户账户数据。对应 tensquare_admin_service 微服务。
tensquare_gathering 活动微服务数据库。对应 tensquare_gathering 微服务。在这里插入图片描述
微服务配置分析:
tensquare_eureka ——》注册中心,优先开启
tensquare_zuul ——》网关
tensquare_admin_service ——》权限管理
tensquare_gathering——》业务活动
二、微服务部署
1. 导入微服务项目包
微服务项目包解压,目录在idea中打开,idea会自动下载相关组件插件(等待时间较长)
等待下载完成
报错解决:
SpringBoot启动类报错can not resolve method 'run(java.lang.class,String [])'问题
2. Windows本地配置maven环境
添加两个变量
修改配置文件组建下载地址设置