Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)

Jenkins+Docker+SpringCloud持续集成流程说明

 

 

大致流程说明:

1) 开发人员每天把代码提交到Gitlab代码仓库

2) Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库。

3) Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器。

4) 最后,用户可以访问到容器

 

服务列表

服务器名称

IP地址

安装的软件

代码托管服务器

20.0.0.20

Gitlab

持续集成服务器

20.0.0.30

Jenkins,Maven,Docker18.06.1-ce

Docker仓库服务器

20.0.0.

Docker18.06.1-ce,Harbor1.9.2

生产部署服务器

20.0.0.

Docker18.06.1-ce

 

SpringCloud微服务源码概述

项目架构:前后端分离

后端技术栈:SpringBoot+SpringCloud+SpringDataJpa(Spring全家桶   

微服务项目结构:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第1张图片

 

数据库结构:

 

 

 

  • tensquare_gathering:活动微服务数据库。对应tensquare_gathering微服务
  •  tensquare_user:用户认证数据库,存放用户账户数据。对应tensquare_admin_service微服务

微服务配置分析:

  • tensquare_eureka
  • tensquare_zuul
  • tensquare_admin_service
  • tensquare_gathering

 

 

本地部署-SpringCloud微服务部署

本地运行微服务

逐一启动微服务    

微服务项目包解压,目录在idea中打开,

idea会自动下载相关组件插件(等待时间较长,极大可能失败,看人品,毕竟国外服务器下载,没有根治的方法)

失败多来几次直到成功

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第2张图片

 

 

缺少依赖组建

安装maven

Windows本地配置maven环境

 

解压目录:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第3张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第4张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第5张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第6张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第7张图片

 

 

然后打开目录去配置:

 

 

 

这个地方:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第8张图片

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第9张图片

 

 

 

//配置下载源

    aliyunmaven
    central
    aliyun maven
    https://maven.aliyun.com/repository/public 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第10张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第11张图片

 

 会自动更新:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第12张图片

 

 

这样做是为了下载插件尽量不出问题!!!

 

 

在等待插件过程中先干其他的事

 

 

本地数据库导入(windows本地安装mysql5.7)

安装好后添加环境变量

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第13张图片

 

 

然后cmd进入数据库

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第14张图片

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第15张图片

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第16张图片

 

我是按照我自己的流程做的:

有些配置和东西要在后面好了在搞前面的因人而异

 

本地部署-前端静态web网站

前端技术栈:NodeJS+VueJS+ElementUI

本地运行(安装nodejs)

Vscode终端中运行:npm run dev

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第17张图片

 

 

安装完先不管,然后继续:(可以把快捷方式选上)

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第18张图片

 

拖进去后

打开vscode,去打开这个文件

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第19张图片

 

找到之前放的打开:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第20张图片

 

 

打开之后

继续安装nodejs,一路默认

 Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第21张图片

 装完后:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第22张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第23张图片

 

 

然后接着下载:python2

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第24张图片

 

 下载完:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第25张图片

 

 

然后找到前段目录:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第26张图片

 

 

接着输入:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第27张图片

 

 

 

 

然后再用cnpm run dev  执行一下这个前端目录:

结果不会报错入下界面:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第28张图片

 

 

输入上面的地址:http://localhost:9528

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第29张图片

 

 就成了!

 

这一部分mysql 前端就没问题了!!

 

接着继续做:

打开idea

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第30张图片

 

 

 

# 单机版
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 #关闭自我保护

 Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第31张图片

 

 

 

 改完之后可以启动一下eureka:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第32张图片

 

 

运行后可以发现端口开了10086

然后在浏览器输入地址,访问enreka:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第33张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第34张图片

 

 然后搞网关:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第35张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第36张图片

 

 

修改完后:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第37张图片

 

 

然后访问刷新一下可以看到zuul注册上去了:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第38张图片

 

 

 

然后继续:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第39张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第40张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第41张图片

 

 

然后再去刷新看一下也有了:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第42张图片

 

 

 

然后继续:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第43张图片

 

 

运行后再去刷新看一下:也有了

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第44张图片

 

 

 

然后我们就开始测试:找到数据库拿出数据,能拿出微服务到数据库没问题

前端拿不到数据就是前端的问题

安装postman工具

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第45张图片

 

 安装好后:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第46张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第47张图片

 

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第48张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第49张图片

 

 

 

到这里 微服务到数据库就没问题了!!

 

然后输入:http://localhost:9528

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第50张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第51张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第52张图片

 

 

 

 

 

接下来都是本地跑的,接下来如何打包:

首先要配置jdk目录:


    
        
            
            org.springframework.boot
            spring-boot-maven-plugin
        
        
            
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                true
                true
                
                C:/Program Files/Java/jdk1.8.0_152/bin/javac
            
        
    

  

把上面代码复制到pom.xml 里

(pom.xml最后


......(复制的内容)
之间

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第53张图片

 

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第54张图片

 

 输入打包命令:mvn clean package

如果提示mvn无法识别则需要重启IDEA再进行打包

 

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第55张图片

 

 

然后去找包:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第56张图片

 

 可以看到打包里的东西:

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第57张图片

 

 

 

对jar包进行单独运行:

 Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第58张图片

 

 

命令执行这个包:

java -jar tensquare_eureka_server-1.0-SNAPSHOT.jarm 

  

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第59张图片

 

 

然后浏览器访问:http://localhost:10086

Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)_第60张图片

 

由此可以看出,对于打的jar包是可以单独在本地进行运行的

你可能感兴趣的:(Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上))