跳至主要內容
springboot打jar包分离资源文件

一、配置pom文件插件

    <build>
        <!-- jar包名 -->
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 分离lib -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!-- 依赖包输出目录,将来不打进jar包里 -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <excludeTransitive>false</excludeTransitive>
                            <stripVersion>false</stripVersion>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- copy资源文件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                </resource>
                            </resources>
                            <outputDirectory>${project.build.directory}/resources</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- 打jar包时忽略配置文件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <excludes>
                        <exclude>**/*.yml</exclude>
                        <exclude>**/*.xml</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- spring boot repackage -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.0</version>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>non-exists</groupId>
                            <artifactId>non-exists</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- maven 打包时跳过测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

zheng大约 2 分钟CICD打包运维
软件安装及高可用部署(三)

本文介绍了MYSQL安装

一、卸载mariadb

# 查看 mariadb 的安装包
rpm -qa | grep mariadb
# 卸载 mariadb 的安装包
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
# 再次查看
rpm -qa | grep mariadb

zheng大约 7 分钟CICD运维
软件安装及高可用部署(二)

本文介绍了Nginx安装

一、修改主机名

以 nginx-master 为例,修改所有服务器的对应的主机名。

vim /etc/hostname
# 删除所有的内容,修改为要修改的主机名
nginx01
vim /etc/hosts
#在第一行最后追加主机名,有127.0.0.1内容的这行
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
nginx01
# 重启服务器
reboot

zheng大约 3 分钟CICD运维
软件安装及高可用部署(一)

本文介绍了磁盘挂载、JDK安装、Keepalived安装

一、硬盘挂载

(1)查看设备的挂载情况

lsblk或lsblk –f或者fdisk -l
img
img

(2)分区

fdisk /dev/vdb 其中/dev/vdb表示上图未挂载的硬盘
分区步骤如下图,下图以/dev/sdb为例
img
img
img


zheng大约 2 分钟CICD运维
nginx配置

一、负载均衡策略

负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表:

#动态服务器组
upstream dynamic_zuoyu {
    server localhost:8080;  #tomcat1
    server localhost:8081;  #tomcat2
    server localhost:8082;  #tomcat3
    server localhost:8083;  #tomcat4
}

zheng大约 12 分钟CICDnginx
Docker网络模型

Docker虚拟化技术底层是基于LXC+Cgroups+AUFS(Overlay)技术实现,而我们有熟知Cgroups是Linux内核提供的一种可以限制、记录、隔离进程组(Process Groups)所使用的物理资源的机制。
Docker虚拟化的产物是Docker容器,基于Docker Engine启动容器时,默认会给容器指定和分配各种子系统:CPU子系统、Memory子系统、IO子系统、NET子系统等。
启动一个容器,会分配Network Namespace(子系统)提供了一份独立的网络环境,包括网卡、路由、Iptables规则等,容器跟其他容器的Network Namespace是相互隔离的。
通过Docker run创建Docker容器时,可以使用–net选项指定Docker容器的网络模式,Docker默认有四种网络模式:


zheng大约 7 分钟CICDdocker
docker镜像部署到k8s集群

一、搭建docker私有仓库

本文使用阿里云私有仓库(个人免费版),阿里云--->容器镜像服务

image-20220411212506831
image-20220411212506831

二、docker打包

1、程序目录

ll
    
-rw-r--r-- 1 root root      872 411 22:03 dockerfile
-rw-r--r-- 1 root root     8678 411 21:53 jdk-8u251-linux-x64.tar.gz
-rw-r--r-- 1 root root 75306958 411 21:47 ruoyi.jar

zheng大约 5 分钟CICDk8sdocker
k8s集群搭建

1. 安装要求

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

  • 一台或多台机器,操作系统 CentOS7.x-86_x64
  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
  • 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点
  • 禁止swap分区
  • docker和k8s保持官网一致的版本,否则有报错

2. 准备环境

角色 IP
master 192.168.2.145
node1 192.168.2.146
node2 192.168.2.147

zheng大约 3 分钟CICDk8s
docker本机打镜像

1、安装docker

(1)安装Gcc

yum -y install gcc
yum -y install gcc-c++

zheng大约 2 分钟CICDdocker
2