docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】

docker+jenkins+gitee+shell 自动化部署基于RuoYi-Cloud的微服务(详细完整版)


目录

  • docker+jenkins+gitee+shell 自动化部署基于RuoYi-Cloud的微服务(详细完整版)
  • 一、准备工作
  • 二、安装docker及compose
  • 三、git、maven、jdk、node安装
  • 四、docker安装jenkins
    • 1.创建本地映射jenkins资源目录
    • 2.下载启动
    • 3.使用root用户进入容器
    • 4.查看复制密码
    • 5.配置
  • 五、创建任务
  • 六、总结


一、准备工作

提示:需基本熟悉docker命令、shell脚本、微服务部署、git命令、服务器基本命令、node、maven
服务器环境:Linux-EulerOS(华为自主研发服务器系统,与CentOS基本类似)

安装组件:docker20.10.19、openjdk1.8.0_191、maven3.8.6、git2.33.0、node16.17.1、npm9.1.2、jenkinsci/blueocean、docker-compose

远程工具:Xshell7、Xftp7

二、安装docker及compose

dokcer安装:快速安装Docker详细图文步骤教程
docker-compose安装:

离线方式

1、到官网下载docker-compose的离线包

下载地址:https://github.com/docker/compose/eleases
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第1张图片

2、下载好离线包,把离线包放在指定目录下就不需要配置环境变量

mv docker-compose-linux-x86_64 /usr/local/bin/
#修改文件名
mv docker-compose-linux-x86_64 docker-compose
#授权
sudo chmod +x /usr/local/bin/docker-compose
#查看安装是否成功
docker-compose -v

在线方式

1、下载
因为Docker Compose存放在GitHub,可能不太稳定。可以通过DaoCloud加速下载

curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

您可以通过修改 URL 中的版本,自定义您所需要的版本文件。

授权

# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose

查看

docker-compose --version

卸载

rm /usr/local/bin/docker-compose

三、git、maven、jdk、node安装

自行搜索教程安装


四、docker安装jenkins

1.创建本地映射jenkins资源目录

mkdir -p /home/docker/jenkins

2.下载启动

没有jenkins镜像会自动下载

docker run \
  -u root \
  -d \
  -p 9100:8080 \
  --restart always \
  --privileged=true \
  -v /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.191.b12-0.h23.eulerosv2r7.x86_64:/usr/java/jdk1.8.0_191 \
  -v /usr/local/apache-maven-3.8.6:/usr/local/maven \
  -v /usr/local/apache-maven-3.8.6/repo:/usr/local/maven_repository \
  -v /usr/local/git/:/usr/local/git \
  -v /home/docker/jenkins:/var/jenkins_home \
  --name jenkins \
  jenkinsci/blueocean

3.使用root用户进入容器

docker exec -it --user root jenkins /bin/bash

4.查看复制密码

cat /var/jenkins_home/secrets/initialAdminPassword

5.配置

1.访问你配置的jenkins地址 服务器ip:9100
2.粘贴复制的密码解锁jenkins
3.创建管理员用户
4.进入全局工具配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第2张图片
5.配置jdk
查看容器内jdk路径

docker exec -it --user root jenkins /bin/bash
echo $JAVA_HO

docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第3张图片
6.配置git、maven
根据启动命令拷贝到容器内的路径

docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第4张图片
注意:去除自动安装
在这里插入图片描述

docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第5张图片docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第6张图片
7.进入插件管理
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第7张图片
8.参考安装maven插件、gitee插件、publish over ssh插件

点击可安装的—搜索—选择—安装
安装完成后可点击已安装的查看

docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第8张图片

若下载失败可参考以下方法:

升级Jenkins
我们安装的Jenkins可能不是最新版的,那么除了重新安装最新版的Jenkins,还有一种比较方便的升级方式。如果我们使用的不是最新版的,Jenkins会提示我们下载最新版,并给出链接

  • 点击链接下载一个jenkins.war文件
  • 查看系统信息,获取jenkins.war的路径
  • 将下载的jenkins.war替换查询到的文件
  • 访问地址后加/restart,重启Jenkins

修改插件下载源
替换清华源插件管理->高级->升级站点,将URL替换为清华源:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

点击提交,然后立即获取
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第9张图片

替换更新文件中的内容网上说的大部分都只有上面那一步,但是实际上是不生效的,我们需要再修改一个文件,在jenkins_home目录下updates/default.json文件,注意这个文件是在执行了上面的步骤才会生成,默认是没有的。将default.json文件中所有的update.jinkens.io/download替换为mirrors.tuna.tsinghua.edu.cn/jenkins,保存后重启Jenkins

docker exec -it --user root jenkins /bin/bash
sed -i 's/update.jinkens.io\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g'  /var/jenkins_home/updates/default.json > result.xml

9.配置gitee、ssh

进入系统配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第10张图片

找到gitee配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第11张图片
点击添加 ,选择gitee令牌,前往获取私人令牌,填入,id自定义docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第12张图片
点击测试
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第13张图片
找到
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第14张图片
点击新增 配置服务器器连接 点击测试
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第15张图片
确认无误后 点击应用 保存


五、创建任务

docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第16张图片
点击配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第17张图片
选择git进行配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第18张图片
选择构建触发器 视情况自行配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第19张图片

点击生成密码
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第20张图片
前往gitee找到仓库设置 进行webhooks配置
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第21张图片
项目打包配置及命令
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第22张图片
选择增加构建步骤
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第23张图片
工作目录
进入容器内容后查看

docker exec -it --user root jenkins /bin/bash
cd /var/jerkins_home/workspace/你定义的项目名

进行配置 传递**即为所有文件
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第24张图片
jenkins.sh

#!/bin/bash
echo "清理已有容器及镜像资源"
	for container in {"gateway","auth","modules-system"}
do
	image=docker_${container}
	if docker ps | grep ${container} ;then
	    docker stop ${container}
	fi
	if docker ps -a | grep ${container};then
	    docker rm ${container}
	fi
	if docker images | grep ${image};then
	    docker rmi ${image}
	fi
done
# 拷贝构建的jar包到宿主机
/home/docker/copy.sh
# 重新启动docker项目
/home/docker/deploy.sh modules

copy.sh

cp /home/sw/gateway/target/smartwater-gateway.jar /home/docker/sw/gateway/jar
cp /home/sw/auth/target/smartwater-auth.jar /home/docker/sw/auth/jar
cp /home/sw/modules/system/target/modules-system.jar /home/docker/sw/modules/system/jar

deploy.sh

#开启端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9201/tcp --permanent
service firewalld restart

docker-compose up -d nacos nginx
docker-compose up -d gateway auth modules-system 

微服务docker部署大致结构
docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_第25张图片

docker-compose.yml以及dockerfile 自行查阅配置


六、总结

  • 安装必要环境软件
  • 使用docker启动微服务测试
  • 安装jenkins以及完善相关配置(主要作用是拉取代码、自动构建、远程及本地执行脚本)
  • git配置webhooks(主要是推送提交信息)
  • 编写shell脚本(主要是构建项目、拷贝文件到指定目录、重启项目)

夜色难免荒凉,前行必有曙光。

你可能感兴趣的:(docker,jenkins,gitee,ssh,微服务)