【Jenkins】----- Ubuntu 24.04 自动化部署项目 CICD 实战教程(docker+gitee+jenkins+阿里云容器镜像服务 ACR)全网最全
文章目录Ubuntu 24.04 保姆级 Java 项目 CICD 实战教程 一、前置准备 1. 统一创建软件安装目录2. 必须安装的环境三、服务器授权 Jenkins 操作 Docker 权限 四、阿里云私有镜像仓库配置 1. 开通阿里云容器镜像服务2. 服务器登录阿里云Docker仓库五、Jenkins 基础配置 ⚙️1. 安装必备插件2. 配置 JDK17 Maven3. 配置Gitee凭据六、Java 项目必备文件配置 七、Jenkins 创建 CICD 流水线任务 1. 新建任务2. Build 配置Maven打包3. 构建后操作Docker镜像推送部署4. 保存任务八、一键触发 CICD 自动化部署 ✨1. 手动触发测试2. 自动触发代码提交自动构建九、验证结果 Ubuntu 24.04 保姆级 Java 项目 CICD 实战教程 流程图适配环境Ubuntu 24.04 Jenkins(Docker版 2.559) Gitee Docker镜像 阿里云私有镜像仓库核心目标代码提交Gitee → Jenkins自动拉取 → 构建打包 → 制作Docker镜像 → 推送阿里云仓库 → 服务器自动部署安装路径所有软件统一安装在/usr/local/soft目录一、前置准备 1. 统一创建软件安装目录# 创建软甲目录并授权sudomkdir-p/usr/local/softsudochmod777/usr/local/soft2. 必须安装的环境Maven 、JDK17 、Docker 、Jenkins参考【Linux】【安装】-----Linux Ubuntu24.04 安装 maven3.9.3版本解压配置安装方式【Linux】【安装】---- Linux ubuntu 24 安装jdk17 解压配置版三、服务器授权 Jenkins 操作 Docker 权限 Jenkins是Docker容器运行必须授权才能操作宿主机的Docker# 将当前用户加入docker用户组sudousermod-aGdocker$USER# 授权Docker套接字文件权限核心sudochmod666/var/run/docker.sock# 重启Dockersudosystemctl restartdocker四、阿里云私有镜像仓库配置 1. 开通阿里云容器镜像服务打开阿里云容器镜像服务注册登录 → 开通个人版/企业版→ 创建命名空间私有仓库记录3个关键信息后面必用仓库地址例如crpi-2toxc20jd1dwczcw.cn-shenzhen.personal.cr.aliyuncs.com命名空间例如zhuguanbo阿里云账号密码2. 服务器登录阿里云Docker仓库# 登录命令替换为你的仓库地址账号密码dockerlogin registry.cn-hangzhou.aliyuncs.com-u阿里云账号-p阿里云密码显示Login Succeeded即登录成功五、Jenkins 基础配置 ⚙️1. 安装必备插件打开 Jenkins 管理 → 插件管理 → 可选插件搜索安装Gitee PluginGitee代码拉取Maven Integration PluginMaven构建Docker PluginDocker镜像构建Git Plugin默认已装安装完成后重启Jenkins。2. 配置 JDK17 Maven安装文件有介绍3. 配置Gitee凭据访问 https://gitee.com/profile/personal_access_tokens创建token令牌全局配置配置gitee到jenkins 里六、Java 项目必备文件配置 在你的Java项目根目录添加1个文件提交到Gitee七、Jenkins 创建 CICD 流水线任务 1. 新建任务首页 →新建任务→ 输入任务名 → 选择构建一个Maven项目→ 确定源码管理用token命令好像不行下拉的时候拉不出来数据在凭证里添加用户名密码的形式才可以选择Git仓库URLGitee项目HTTPS地址凭据选择刚才配置的gitee-cred分支*/main根据你的分支修改2. Build 配置Maven打包Root POMpom.xmlGoals and optionsclean package -Dmaven.test.skiptrueJDK选择jdk17Maven选择maven3.9.63. 构建后操作Docker镜像推送部署在增加构建步骤中选择执行Shell粘贴以下脚本# 1. 定义变量替换为你的阿里云信息IMAGE_NAMEregistry.cn-hangzhou.aliyuncs.com/命名空间/项目名:latestALIYUN_URLregistry.cn-hangzhou.aliyuncs.comALIYUN_USER阿里云账号ALIYUN_PWD阿里云密码# 2. 停止并删除旧容器避免端口冲突dockerstop java-project||truedockerrmjava-project||true# 3. 删除旧镜像dockerrmi$IMAGE_NAME||true# 4. 构建新Docker镜像dockerbuild-t$IMAGE_NAME.# 5. 登录阿里云镜像仓库dockerlogin$ALIYUN_URL-u$ALIYUN_USER-p$ALIYUN_PWD# 6. 推送镜像到阿里云私有仓库dockerpush$IMAGE_NAME# 7. 启动新容器端口映射宿主机端口:容器端口dockerrun-d--namejava-project-p8080:8080$IMAGE_NAME4. 保存任务点击底部保存配置完成八、一键触发 CICD 自动化部署 ✨1. 手动触发测试Jenkins任务页面 → 点击立即构建查看控制台输出全程无报错即成功2. 自动触发代码提交自动构建进入任务配置 →构建触发器勾选Gitee webhook 触发构建复制生成的WebHook URL打开Gitee项目 → 管理 → WebHook → 添加 → 粘贴URL → 保存856cea3da636f2506527bbf3f1b28c5d要执行的脚本填在 Build Steps ----执行shell 里流程是创建目录 → 进入目录 → 拉代码 → 构建镜像 → 推送到阿里云 → 停旧容器 → 删旧镜像 → 用 docker-compose 启动新容器# 【只需修改这里 6 项】 PROJECT_NAMEzgb-admin# 项目名随便GIT_URLhttps://gitee.com/xxx/xxx.git# 你的 Gitee 地址GIT_BRANCHmaster# 要拉取的分支IMAGE_NAMEcrpi-2toxc20jd1dwczcw.cn-shenzhen.personal.cr.aliyuncs.com/zhuguanbo/zgb-adminALI_REGISTRY_USER阿里云账号# 阿里云镜像仓库用户名ALI_REGISTRY_PWD阿里云密码# 阿里云镜像仓库密码# # 固定配置不用动 VERSION${BUILD_NUMBER}# Jenkins 自动版本号唯一不重复cd${WORKSPACE}# -- 这一行用 Jenkins 自带目录# 1. 创建并进入干净工作目录mkdir-p${WORKSPACE}cd${WORKSPACE}# 2. 清空残留文件rm-rf./*# 3. 拉取 Gitee 指定分支代码gitclone-b${GIT_BRANCH}${GIT_URL}.# 4. 登录阿里云Docker仓库echo${ALI_REGISTRY_PWD}|dockerlogin https://crpi-2toxc20jd1dwczcw.cn-shenzhen.personal.cr.aliyuncs.com\-u${ALI_REGISTRY_USER}--password-stdin# 5. 构建新镜像用 Jenkins 版本号 latestdockerbuild-t${IMAGE_NAME}:${VERSION}-t${IMAGE_NAME}:latest.# 6. 推送到阿里云仓库dockerpush${IMAGE_NAME}:${VERSION}dockerpush${IMAGE_NAME}:latest# 7. 停止并删除旧容器只针对 zgb-admindocker-composestop zgb-admin||truedocker-composerm-fzgb-admin||true# 8. 清理无用镜像防止占磁盘dockerimage prune-f# 9. 后台启动 zgb-admin 服务只启动这一个不影响 mysql/redisdocker-composeup-dzgb-admin# 10. 退出仓库登录安全dockerlogouthttps://crpi-2toxc20jd1dwczcw.cn-shenzhen.personal.cr.aliyuncs.comechoecho✅ 构建发布完成echo 新版本镜像${IMAGE_NAME}:${VERSION}echo 容器 zgb-admin 已启动成功echo登录gitee 找到刚刚那个项目创建钩子✅ 以后代码提交GiteeJenkins自动完成全流程部署九、验证结果 提交一次git代码试试重启成功
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2520853.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!