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

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



一、准备工作

提示:需基本熟悉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
在这里插入图片描述

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.进入全局工具配置
在这里插入图片描述
5.配置jdk
查看容器内jdk路径

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

在这里插入图片描述
6.配置git、maven
根据启动命令拷贝到容器内的路径

在这里插入图片描述
注意:去除自动安装
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
7.进入插件管理
在这里插入图片描述
8.参考安装maven插件、gitee插件、publish over ssh插件

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

在这里插入图片描述

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

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

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

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

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

点击提交,然后立即获取
在这里插入图片描述

替换更新文件中的内容网上说的大部分都只有上面那一步,但是实际上是不生效的,我们需要再修改一个文件,在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

进入系统配置
在这里插入图片描述

找到gitee配置
在这里插入图片描述
点击添加 ,选择gitee令牌,前往获取私人令牌,填入,id自定义在这里插入图片描述
点击测试
在这里插入图片描述
找到
在这里插入图片描述
点击新增 配置服务器器连接 点击测试
在这里插入图片描述
确认无误后 点击应用 保存


五、创建任务

在这里插入图片描述
点击配置
在这里插入图片描述
选择git进行配置
在这里插入图片描述
选择构建触发器 视情况自行配置
在这里插入图片描述

点击生成密码
在这里插入图片描述
前往gitee找到仓库设置 进行webhooks配置
在这里插入图片描述
项目打包配置及命令
在这里插入图片描述
选择增加构建步骤
在这里插入图片描述
工作目录
进入容器内容后查看

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

进行配置 传递**即为所有文件
在这里插入图片描述
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-compose.yml以及dockerfile 自行查阅配置


六、总结

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

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

  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是 Docker + Jenkins + Gitlab+Harbor 自动化构建部署详细资料: 1. Docker Docker 是一种容器化技术,可以将应用程序及其依赖项打包为一个可移植的容器,从而实现快速、一致和可靠的部署。 2. Jenkins Jenkins 是一种开源的自动化服务器,可以用于自动化构建、测试和部署软件。 3. Gitlab Gitlab 是一种基于 Git 的代码托管平台,可以管理源代码、问题和合并请求等。 4. Harbor Harbor 是一种开源的 Docker 镜像仓库,可以存储和管理 Docker 镜像。 下面是 Docker + Jenkins + Gitlab+Harbor 自动化构建部署的步骤: 1. 创建一个 Gitlab 仓库,用于存储应用程序代码。 2. 在 Jenkins 中创建一个新项目,并配置 Gitlab 的 Webhook,以便在代码推送到 Gitlab 时触发构建。 3. 在 Jenkins 中配置 Docker 插件,以便在构建完成后自动构建 Docker 镜像。 4. 在 Jenkins 中配置 Harbor 插件,以便在构建完成后自动将 Docker 镜像上传到 Harbor 镜像仓库。 5. 在 Jenkins 中配置部署脚本,以便在 Docker 镜像上传到 Harbor 后自动部署到目标服务器。 6. 在 Gitlab 中配置 CI/CD 流水线,以便在代码推送到 Gitlab 后自动触发 Jenkins 构建和部署流程。 7. 测试自动化构建部署流程,确保能够自动构建、上传和部署 Docker 镜像。 总之,Docker + Jenkins + Gitlab+Harbor 自动化构建部署可以大大提高软件开发和部署的效率,可以快速构建、测试和部署应用程序,从而实现持续集成和持续交付。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值