CICD持续集成,利用Jenkins自动化构建发布Docker容器【初始化部署、MySQL安装】(一)

目录

一、环境部署

二、微服务架构

三、本地微服务后端搭建

1.配置项目环境

①Windows配置Maven环境

②配置项目

2.数据库配置

①安装数据库

②导入数据

3.启动微服务

①修改各个服务的yml文件

②开启服务

4.测试微服务

①测试获取数据

②测试打包jar包

③测试单独服务的jar包运行


一、环境部署

服务器名称

IP地址

软件

代码仓库服务器

192.168.72.14

Gitlab

持续集成服务器

192.168.72.15

Jenkins,Docker

Docker Harbor仓库服务器

192.168.72.16

Docker,Harbor

部署服务器

192.168.72.17

Docker

二、微服务架构

项目架构:前后端分离

后端技术: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微服务

三、本地微服务后端搭建

主要是测试微服务是否能运行

1.配置项目环境

①Windows配置Maven环境

这边的Maven版本是3.8.4

配置环境变量

保存后,调出CMD输入mvn -v,查看Maven是否安装成功。

修改Maven配置文件,更改组件下载地址和库地址。

C:\APP\apache-maven-3.8.4\conf

以记事本方式打开

添加下面代码进去,在<mirrors></mirrors>之间添加

<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/repository/public </url>
</mirror>

找到<localRepository>/path/to/local/repo</localRepository>

更改为自己创建的存放组件的地址

<localRepository>C:\APP\repo</localRepository>

保存即可

②配置项目

我这边是把项目放在了Idea的项目目录位置下

打开项目

配置Maven,下载Springboot组件

配置好后等待下载完成

下载完成之后,继续配置,接者点击各个文件夹下的文件,查找还有没有红色报错。

解决:解决SpringBoot启动类报错can not resolve method 'run(java.lang.class,String [])'问题

2.数据库配置

①安装数据库

这边数据库的版本是5.7.17

②导入数据

配置mysql环境变量

找到mysql的bin目录,复制

win+r调出cmd,输入数据库命令进入MySQL

创建两个库tensquare_gathering和tensquare_user

create database tensquare_gathering;

create database tensquare_user;

3.启动微服务

①修改各个服务的yml文件

除了eureka服务,其他的都改为localhost(本地)

eureka

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

admin_service

gathering

zuul

②开启服务

按照eurekaàzuulàadmin_serviceàgathering,顺序开启,运行的是java目录下的可运行文件

各个服务可运行的文件的名字

EurekaServerApplicationàZuulApplicationàAdminApplicationàGatheringApplication

运行完了之后输入http://localhost:10086查看是否可以开启

下面可以看到三个服务都以开启

4.测试微服务

①测试获取数据

安装postman工具

运行并打开

输入URL:http://localhost:10020/admin/admin/login

②测试打包jar包

停止所有服务

打包发现错误

原因:没有配置JDK目录

复制以下代码到根目录中的pom.xml文件中

<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>

再次打包,发现错误,代表已有这个组件,删除刚才添加的代码中的一段,如下

<plugin>
    <!--提供打包(将应用打包成可执行的jar包)-->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

删除完后重新打包

打包成功,jar在每个服务的target目录下

③测试单独服务的jar包运行

在项目目录下找到jar包

到文件目录下,在地址栏输入cmd,运行cmd,输入java -jar xxx.jar运行

注意:运行前,关闭idea中的服务,以免端口冲突

在浏览器中输入http://localhost:10086

开启成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值