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 自行查阅配置文章来源:https://www.toymoban.com/news/detail-410555.html
六、总结
- 安装必要环境软件
- 使用docker启动微服务测试
- 安装jenkins以及完善相关配置(主要作用是拉取代码、自动构建、远程及本地执行脚本)
- git配置webhooks(主要是推送提交信息)
- 编写shell脚本(主要是构建项目、拷贝文件到指定目录、重启项目)
夜色难免荒凉,前行必有曙光。
文章来源地址https://www.toymoban.com/news/detail-410555.html
到了这里,关于docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!