zhangjava's blog zhangjava's blog
首页
  • 学习笔记

    • 《从零开始学Python》
生活
  • 专题

    • 从零搭建开发部署自动化
更多
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

zhangjava

用技术改变世界
首页
  • 学习笔记

    • 《从零开始学Python》
生活
  • 专题

    • 从零搭建开发部署自动化
更多
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言
  • 安装ubuntu-24.04.1-server系统
  • 安装docker
  • 安装docker-compose
  • VMware复制多个虚拟机
  • 安装Jenkins
  • 安装Harbor
  • 安装GitLab
  • 配置项目部署服务器
  • Jenkins配置自动化流程
    • 1. 新建任务
    • 2. 配置任务
    • 3. 执行任务
    • 4. 配置前端打包
    • 5. 安装ssh插件
    • 6. 配置SSH服务
    • 7. 配置启动服务任务
    • 8. 总结
  • 从零搭建开发部署自动化
zhangjava
2025-03-05
目录

Jenkins配置自动化流程

# 1. 新建任务

提示

当任务比较多时,可以使用视图来进行快速筛选任务,一般将一个项目的多个子任务,添加到同一个视图内,这样便于快速查看和管理。

登录Jenkins,点击新建视图按钮,新建一个视图,命名为若依

image-20250307193216750

image-20250307193050243

视图创建成功后,会跳转到编辑视图页面。

image-20250307193637658

编辑视图页面,可以选择哪些任务关联到当前视图上。因为目前我们还没有创建任务,所以不用编辑,直接点击Save按钮。

image-20250307193854762

选择新建任务按钮,创建一个新任务。

image-20250307194115891

输入任务名称,选择构建一个自由风格的软件项目,点击OK,跳转到任务配置页。

image-20250307194246033

# 2. 配置任务

在源码管理输入框,输入GitLab中若依项目的地址。

image-20250307194459070

提示无法连接地址,因为没有权限。在Credentials按钮下面,点击添加,再点击Jenkins,新增一个凭证。

image-20250307194621301

image-20250307194927694

点击添加,回到任务配置页,选择刚刚添加的凭证。

image-20250307195037657

提示

如果依然还有无法连接的警告,请自行检查gitlab的用户名和密码是否填写错误。或者填写的gitlab用户名,没有该仓库的访问权限。

image-20250307195309522

指定分支这里,默认是master,如果你的分支不是master,可以根据实际情况修改为正确的分支名。

image-20250307195421607

勾选Delete workspace before build starts选项,每次构建任务执行时,都先删除旧数据。

image-20250307195634855

构建步骤,选择执行shell

#进入工作目录,这里引用的是Jenkins提供的环境变量,在执行脚本时,会自动替换为当前目录名称
cd $WORKSPACE
#将项目整体打包,先清除旧包,再打包
mvn clean install -Dmaven.test.skip=true -Dmaven.compile.fork=true
#进入ruoyi-auth目录
cd $WORKSPACE/ruoyi-auth
#构建ruoyi-auth镜像
mvn clean package docker:build -DpushImage -Dmaven.test.skip=true -Dmaven.compile.fork=true
#删除本地的docker镜像
docker rmi -f 192.168.127.132:80/ruoyi_dev/ruoyi-auth:3.6.5
1
2
3
4
5
6
7
8
9
10

提示

image-20250307200752977

构建镜像时,会先在配置的docker打包地址这个服务器(Jenkins服务器),产生镜像,然后再推送到docker镜像仓库地址。我们使用镜像时,都是从harbor镜像仓库来拉取的,所以在构建完镜像后,删除Jenkins服务器上的本地镜像,以节省服务器存储空间。

image-20250307200238643

配置完脚本,点击Save按钮保存。

image-20250307201223369

# 3. 执行任务

点击立即构建,开启构建任务。

image-20250307201319892

点击构建任务,可以实时查看构建日志

image-20250307202013960

image-20250307202139204

任务执行完成,登录harbor,查看推送的镜像。

image-20250307202530450

继续新建任务,将其他模块都加上。

提示

当有已经创建好的任务时,可以通过复制功能,快速创建其他任务。

image-20250307211853021

# 4. 配置前端打包

前端打包任务配置和之前的都是一样的,只有执行shell的脚本不一样。

cd $WORKSPACE/ruoyi-ui

npm config set strict-ssl false
npm install
npm run build:prod

docker build -t 192.168.127.132:80/ruoyi_dev/ruoyi-ui:3.6.5 .
docker push 192.168.127.132:80/ruoyi_dev/ruoyi-ui:3.6.5
docker rmi -f 192.168.127.132:80/ruoyi_dev/ruoyi-ui:3.6.5
1
2
3
4
5
6
7
8
9

image-20250307220745759

所有的任务都打包完成后,就可以配置启动任务了。

# 5. 安装ssh插件

要配置自动更新任务,需要远程执行shell,Jenkins需要安装ssh插件

点击左侧系统管理

image-20250307221103612

点击插件管理

image-20250307221135374

image-20250307221202739

搜索框输入ssh

image-20250307221723916

选择Publish Over SSH插件,并安装。

image-20250307221829531

image-20250307221911828

等待安装完成,就可以使用了。

# 6. 配置SSH服务

点击系统管理——>系统配置

image-20250307222522029

拖到最底下,找到SSH Servers

image-20250307222621738

点击新增

image-20250307222933437

填写服务器信息,点击Save,保存。

# 7. 配置启动服务任务

新建一个任务

image-20250307222106810

不需要其他任何配置,只在构建步骤这里,选择Send files or execute commands over SSH

image-20250307222254421

image-20250307223123687

在SSH Server选项,选择刚刚配置好的ssh服务器。

点击高级,勾选Credentials,配置远程服务器的用户名和密码

image-20250307223418761

在Exec command输入框内,输入需要远程执行的shell命令

#进入目录
cd /root/project/ruoyi/server
#先停止所有服务
docker-compose down
#删除所有包含“ruoyi”关键词的镜像
docker images --format "{{.Repository}}:{{.Tag}}" | grep 'ruoyi' | xargs docker rmi
#启动所有服务,docker会自动拉取镜像
docker-compose up -d
1
2
3
4
5
6
7
8

image-20250307224009189

任务配置完成后,点击立即构建

image-20250307225030661

构建成功后,访问项目部署服务器的10003端口

image-20250307225234228

登录系统,查看功能是否正常。

image-20250307225845945

进入nacos,查看服务是否注册正常

image-20250307225934397

# 8. 总结

到此为止,整个自动化部署流程就建立好了,再回顾一下整个流程:

当有新的功能提交后,登录Jenkins后台,直接执行对应模块的构建任务,然后再执行启动任务就行。

其实利用GitLab的hook功能,可以做到一提交代码就自动构建,完全不需要人为参与构建。只是这种构建方式过于频繁,生产环境是不能使用这种方式的。

Jenkins还有其他更多的触发器来自动触发构建,这个各位读者可以自行探索。

编辑 (opens new window)
#Jenkins#自动化
配置项目部署服务器

← 配置项目部署服务器

最近更新
01
配置项目部署服务器
03-05
02
安装GitLab
03-05
03
安装Harbor
03-05
更多文章>
Theme by Vdoing | Copyright © 2025-2025 zhangjava | MIT License | 晋ICP备2023016205号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式