目录
一、Jenkins+Docker+SpringCloud持续集成流程
一、Jenkins+Docker+SpringCloud持续集成流程
1.持续集成流程说明
(1)开发人员每天把代码提交到Gitlab代码仓库
(2)Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库
(3)Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器
(4)最后,用户可以访问到容器
二、本地部署SpringCloud微服务部署
1.SpringCloud微服务源码概述
项目架构:前后端分离
后端技术栈:SpringBoot+SpringCloud+SpringDataJpa(Spring全家桶)
tensquare_parent: 父 工 程 , 存 放 基 础 配 置
tensquare_admin_service:基础权限认证中心,负责用户认证(使用JWT认证)
tensquare_common:通用工程,存放工具类
tensquare_eureka_server:SpringCloud的Eureka注册中心
tensquare_gathering:一个简单的业务模块,活动微服务相关逻辑
tensquare_zuul:SpringCloud 的 网 关 服 务
本地运行微服务
把相关的微服务解压包放在IDEA的项目内
在IDEAL里打开微服务,idea会自动下载相关组件插件(等待时间较长)
缺少依赖组建安装maven,Windows本地配置maven环境
Maven官网:Maven – Download Apache Maven
需要设置环境变量
验证配置效果
配置组建仓库地址
设置配置环境:apache-maven-3.8.4>conf>settings
回到IDEA修改文件路径
本地数据库导入(windows本地安装mysql5.7)
设置环境变量
本地测试MySQL,导入数据等待测试
修改配置文件为单机版application.yml
# 单机版
server:
port: 10086
#基本服务器信息
spring:
application:
name: eureka-server #服务ID
#enreka服务器配置
eureka:
client:
fetch-registry: false #单机版关闭enreka相互注册
register-with-eureka: false
service-url:
defaultZone: http://localhost:${server.port}/eureka #暴露eureka服务访问地址
server:
enable-self-preservation: false #关闭自我保护
启动enreka服务
浏览器访问
修改Eureka配置
开启网关zuul
开启权限中心
开启活动的微服务
查看注册中心信息
安装postman工具
验证后端对接数据库
复制上图的token
2.本地部署前端静态web网站
安装VSCode
安装Node.js
设置环境变量
演示效果
解决方法:安装Python2,设置环境变量
再次进入tensquareAdmin文件
再次演示效果
登录后端
3.在IDEA环境中先打包
配置jdk目录,需要等待下载相关插件
<build>
<plugins>
<plugin>
<!--提供打包(将应用打包成可执行的jar包)-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<!-- 指定maven编译的jdk版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<!--jdk地址-->
<executable>C:/Program Files/Java/jdk1.8.0_152/bin/javac</executable>
</configuration>
</plugin>
</plugins>
</build>
插件安装完毕后,保存配置,找到需要打包的包目录
在tar目录查找打包的文件
运行打包好的文件
浏览器验证