CI/CD 的英文全称及核心含义如下采用结构化方式呈现便于你在技术文档或配置中规范使用缩写部分英文全称中文翻译核心作用CIContinuous Integration持续集成开发人员频繁将代码合并到主干通过自动化构建和测试快速发现集成错误。CDContinuous Delivery持续交付在 CI 基础上将代码自动部署到测试/预发布环境手动确认后发布到生产。CDContinuous Deployment持续部署持续交付的进阶版代码通过测试后自动部署到生产环境无需人工干预。补充说明在你的 Jenkins 部署场景中当前实现的是CI持续集成CD持续交付的结合CI通过mvn clean package完成代码构建与打包。CD通过脚本自动将前后端文件部署到服务器但未实现生产环境的全自动发布仍需触发 Jenkins 任务。极简版 Shell 脚本部署 Docker MySQLroot/root以下脚本仅保留核心功能部署 MySQL 容器、设置 root 密码为root无额外自定义配置开箱即用适配 Rocky Linux/CentOS 系统。一、完整脚本保存为deploy-mysql-simple.sh#!/bin/bashset-e# 错误立即退出# 核心配置仅需改这里MYSQL_VERSION8.0# MySQL版本CONTAINER_NAMEmysql-ivos# 容器名MYSQL_PORT3306# 映射端口MYSQL_ROOT_PWDroot# root密码固定为rootMYSQL_DATA_DIR/opt/mysql/data# 数据持久化目录# 1. 检查Docker未安装则自动装echo-e\n 1/4 检查Docker环境 if!command-vdocker/dev/null;thenechoDocker未安装开始自动安装...sudodnf remove-ydocker*/dev/nullsudodnfinstall-yyum-utils device-mapper-persistent-data lvm2/dev/nullsudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo/dev/nullsudodnfinstall-ydocker-ce docker-ce-cli containerd.io/dev/nullsudosystemctl startdockersudosystemctlenabledockerecho✅ Docker安装完成elseecho✅ Docker已安装$(docker--version|awk{print $3}|cut-d,-f1)fi# 2. 清理旧容器避免冲突echo-e\n 2/4 清理旧容器 if[$(dockerps-a|grep-c$CONTAINER_NAME)-gt0];thensudodockerstop$CONTAINER_NAME/dev/nullsudodockerrm$CONTAINER_NAME/dev/nullecho✅ 旧容器$CONTAINER_NAME已删除elseecho✅ 无旧容器无需清理fi# 3. 准备数据目录拉取镜像 echo-e\n 3/4 准备部署环境 # 创建数据目录持久化关键sudomkdir-p$MYSQL_DATA_DIRsudochmod-R777$MYSQL_DATA_DIR# 拉取MySQL镜像if[$(dockerimages|grep-cmysql:$MYSQL_VERSION)-eq0];thenecho拉取MySQL$MYSQL_VERSION镜像...sudodockerpull mysql:$MYSQL_VERSIONfiecho✅ 环境准备完成# 4. 启动MySQL容器 echo-e\n 4/4 启动MySQL容器 sudodockerrun-d\--name$CONTAINER_NAME\--restartalways\-p$MYSQL_PORT:3306\-v$MYSQL_DATA_DIR:/var/lib/mysql\-eMYSQL_ROOT_PASSWORD$MYSQL_ROOT_PWD\mysql:$MYSQL_VERSION# 等待启动避免校验过早失败sleep8# 验证启动状态if[$(dockerps|grep-c$CONTAINER_NAME)-gt0];thenecho-e\n MySQL部署成功echo 连接信息主机端口$MYSQL_PORT| 用户名root | 密码rootecho 数据目录$MYSQL_DATA_DIRelseecho-e\n❌ MySQL启动失败日志sudodockerlogs$CONTAINER_NAMEexit1fi二、使用步骤一键执行# 1. 创建并编辑脚本vimdeploy-mysql-simple.sh# 2. 添加执行权限chmodx deploy-mysql-simple.sh# 3. 运行脚本sudo避免权限问题sudo./deploy-mysql-simple.sh三、快速验证连接# 进入容器内连接MySQLsudodockerexec-itmysql-ivos mysql-uroot-proot# 验证成功会进入MySQL命令行输入以下命令测试show databases;# 能看到默认数据库即表示正常exit;# 退出MySQL总结核心配置仅保留 root 密码root无额外数据库/用户配置满足基础使用需求。关键保障数据目录/opt/mysql/data持久化容器删除/重启数据不丢失容器开机自启。简化点去掉字符集配置、自定义用户等非必需项仅保留最核心的部署逻辑。如果需要开放 3306 端口供远程连接如本地 Navicat 访问执行以下命令sudofirewall-cmd --add-port3306/tcp--permanentsudofirewall-cmd--reload