当前位置: 首页 > article >正文

【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代码试试重启成功

相关文章:

【Jenkins】----- Ubuntu 24.04 自动化部署项目 CICD 实战教程(docker+gitee+jenkins+阿里云容器镜像服务 ACR)全网最全

文章目录 Ubuntu 24.04 保姆级 Java 项目 CICD 实战教程 🚀一、前置准备 📋1. 统一创建软件安装目录2. 必须安装的环境 三、服务器授权 Jenkins 操作 Docker 权限 🔑四、阿里云私有镜像仓库配置 🪐1. 开通阿里云容器镜像服务2. 服…...

客户非要乱插12V电源?我用SY8113+升压芯片折腾出的兼容方案与调试血泪史

当客户执意乱插12V电源:一个硬件工程师的兼容方案实战手记 那天会议室里市场部的同事拍着桌子说:"客户坚持要用12V电源适配器!"作为硬件负责人,我盯着手里5V供电的PCB设计图,突然意识到——这可能是今年最棘…...

避坑指南:rosbag合并时你绝对想不到的5个时间戳问题

ROS实战:rosbag合并中5个隐藏的时间戳陷阱与解决方案 在自动驾驶和机器人开发中,rosbag作为数据记录和回放的核心工具,其合并操作看似简单却暗藏玄机。我曾在一个多传感器融合项目中,因为rosbag合并时的时间戳问题导致整整两周的…...

机械狗改装实战:用奥比中光Gemini336L+ROS打造2.5D高程地图(附完整配置代码)

机械狗改装实战:用奥比中光Gemini336LROS打造2.5D高程地图 当二手机械狗遇上深度视觉传感器,会碰撞出怎样的火花?去年我在某科技展上看到一台改装机械狗展示自主避障功能后,便萌生了用低成本方案复现类似效果的想法。经过三个月折…...

EZCard:如何用自动化工具将桌游卡牌制作效率提升400%

EZCard:如何用自动化工具将桌游卡牌制作效率提升400% 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/CardE…...

Colmap 3.6+CUDA版保姆级教程:从图片到3D模型的完整重建流程(附避坑指南)

Colmap 3.6CUDA实战手册:从零开始构建高精度3D模型 在数字内容创作和计算机视觉领域,三维重建技术正以前所未有的速度改变着我们记录和再现世界的方式。想象一下,仅用普通相机拍摄的一组照片,就能还原出物体的立体形态和纹理细节…...

电机控制:PWM 原理与应用

电机控制:PWM原理与应用 在现代工业自动化和智能设备中,电机控制技术扮演着至关重要的角色。其中,脉宽调制(PWM)技术因其高效、灵活的特点,成为电机控制的核心手段之一。无论是家用电器中的风扇调速&#…...

树莓派+匿名飞控:不用遥控器,手把手教你搭建自主无人机的大脑与神经

树莓派匿名飞控:构建无遥控自主无人机的核心技术解析 当传统无人机还在依赖遥控器手动操控时,一种更智能的解决方案正在悄然兴起——通过树莓派与匿名飞控的协同工作,实现完全自主的飞行决策与控制。这种架构不仅解放了操作者的双手&#xf…...

Redis 主从延迟检测与修复

Redis主从延迟检测与修复:保障数据一致性的关键实践 Redis作为高性能内存数据库,主从复制是其高可用架构的核心。网络波动、主库压力激增或从库处理能力不足等因素可能导致主从延迟,进而引发数据不一致风险。本文将深入探讨Redis主从延迟的检…...

银行智能体平台选型困局:自研还是采购?七个思维框架帮你看清“棋眼”

从“作战指挥中心”到“拎包入住”,没有标准答案,只有匹配与否。 借用任正非、毛泽东、段永平、雷军、王阳明、梅宏、徐少春的视角,拆解这道看似简单却极难抉择的选择题。一、困局:一张没有标准答案的考卷银行数智化转型到了深水区…...

2026 Python Web 框架终极对比:一篇看懂 Django/Flask/FastAPI 怎么选

前言在数字化与 AI 深度融合的时代,Python Web 框架已经成为连接 AI 模型与用户的核心桥梁。正如我们上一篇《PythonAI 实战:搭建属于你的智能问答机器人》所实现的本地智能问答系统,最终都需要通过 Web 框架对外提供服务接口、构建交互界面。…...

算力普惠时代:当“算力银行”遇上“中小企业”,一场静默的生产力革命

算力正在成为AI时代的水电煤,但如何让中小企业用得起、用得好?工信部近期发布的普惠算力行动,提出了“算力银行”“算力超市”等创新模式。本文尝试从多位实践者的思维框架出发,拆解这场变革背后的逻辑与路径。一、算力爆发&#…...

springboot基于web的数学库组卷系统_k593i56u_cc066

前言 SpringBoot基于Web的数学库组卷系统是一款专为教育机构、学校及教师设计的在线智能组卷平台。该系统以SpringBoot框架为核心,结合Web前端技术,构建了一个高效、灵活、智能的数学试卷生成与管理系统。系统集成了丰富的数学题库资源,支持教…...

为什么92%的社交分析项目在多模态阶段失败?SITS2026技术负责人亲述4个致命断层

第一章:SITS2026案例:多模态社交媒体分析 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Social Intelligence & Trustworthy Systems 2026)是面向真实世界社交媒体治理的前沿实验平台,其核心任务是联合…...

STM32MP157+AD7606BSTZ四通道IEPE传感器采集方案实战(附完整电路图)

STM32MP157AD7606BSTZ四通道IEPE传感器采集方案实战 工业振动监测领域对数据采集系统的精度和实时性要求极高,而IEPE(Integrated Electronics Piezo-Electric)传感器因其内置信号调理电路的特点,成为振动监测的首选方案。本文将详…...

别再浪费你的ESP32-S3R8了!手把手教你将PSRAM用作高速缓存或大数组存储

解锁ESP32-S3R8的隐藏性能:8MB PSRAM实战开发指南 当你在ESP32-S3R8开发板上运行内存密集型应用时,是否经常遇到"内存不足"的报错?这就像开着跑车却只能以自行车速度行驶——硬件潜力被严重浪费。实际上,这款芯片内置的…...

ADB Push命令保姆级教程:从环境变量配置到解决‘Permission denied’全流程

ADB Push命令实战手册:Windows环境下的零失败文件传输指南 第一次接触ADB命令时,我盯着PowerShell里红色的"Permission denied"错误提示发了半小时呆。作为连接Windows与嵌入式设备的桥梁,ADB的push命令看似简单,却暗藏…...

从GAN到对比学习:盘点5种半监督医学影像分割的‘炼丹’技巧与实战代码(PyTorch)

从GAN到对比学习:5种半监督医学影像分割的实战技巧与PyTorch实现 医学影像分割一直是计算机视觉领域的核心挑战之一。在临床场景中,获取大量精确标注的医学图像既昂贵又耗时,放射科医生标注一张MRI或CT扫描可能需要数小时。这种标注瓶颈使得半…...

别再为FPGA位宽转换头疼了!一个可参数化的Verilog模块,搞定任意比例(附避坑指南)

FPGA位宽转换的终极解决方案:参数化Verilog模块设计与实战指南 在FPGA开发中,数据位宽转换是一个常见但令人头疼的问题。当我们需要将32位数据转换为50位,或者处理其他非2^N倍率的转换时,标准IP核往往无法满足需求。本文将分享一个…...

AIGlasses OS Pro 实战:5步完成交通信号识别,新手也能轻松搞定

AIGlasses OS Pro 实战:5步完成交通信号识别,新手也能轻松搞定 1. 项目简介与准备工作 AIGlasses OS Pro 是一款基于YOLO11与MediaPipe开发的智能眼镜视觉辅助系统,专为低算力场景优化。其交通信号识别模式能够实时检测红绿灯、交通标志等道…...

好用的企业知识库排名:9 款文档协作系统测评

本文将深入对比9款企业知识库工具:PingCode、亿方云、印象笔记(企业版)、石墨文档、看云、致远互联、语雀、蓝凌知识管理、巴别鸟 在数字化办公时代,企业的核心资产不再仅仅是产品,更是沉淀在团队中的知识与经验。然而…...

如何高效使用wechat-need-web插件:让微信网页版重获新生的完整指南

如何高效使用wechat-need-web插件:让微信网页版重获新生的完整指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法正…...

实时翻译耳机市场洞察:2026 - 2032年复合年均增长率(CAGR)高达43.1%

据恒州诚思调研统计,2025年全球实时翻译耳机收入规模约达24.68亿元,至2032年这一规模将接近306.2亿元,2026 - 2032年复合年均增长率(CAGR)高达43.1%。在全球化进程加速、跨文化交流需求日益旺盛的当下,实时…...

MOSFET vs BJT运放选型指南:从输入偏置电流看传感器电路设计

MOSFET vs BJT运放选型指南:从输入偏置电流看传感器电路设计 在医疗监护设备的血氧探头前端,工程师小李正为0.1nA级光电流的放大电路发愁。当他用传统BJT运放搭建跨阻放大器时,基线漂移竟达到满量程的15%。这个真实案例揭示了输入偏置电流对高…...

2026届必备的六大降重复率助手推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容生产进程当中,降低AIGC占比此项工作,得从源头跟后期这两个方向…...

前端部署回滚方案

前端部署回滚方案:保障线上稳定的关键策略 在现代前端开发中,快速迭代和频繁部署是常态,但随之而来的风险是线上问题可能影响用户体验甚至业务收益。如何快速、安全地应对部署后的异常?一套完善的前端部署回滚方案至关重要。本文…...

BepInEx高级架构解析与系统级插件框架实践

BepInEx高级架构解析与系统级插件框架实践 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx作为Unity和.NET游戏生态中企业级插件框架,为游戏开发者提供了统一的…...

WeChatMsg终极指南:如何永久保存并深度分析你的微信聊天记录

WeChatMsg终极指南:如何永久保存并深度分析你的微信聊天记录 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...

SITS2026选型决策树:9大维度对比GitHub Copilot、Tabnine、CodeWhisperer与国产新锐(附ROI测算模板)

第一章:SITS2026选型决策树:9大维度对比GitHub Copilot、Tabnine、CodeWhisperer与国产新锐(附ROI测算模板) 2026奇点智能技术大会(https://ml-summit.org) 面向企业级AI编程助手规模化落地,SITS2026(Sof…...

从SolidWorks到Gazebo:手把手教你将tianbot_mini小车URDF模型跑起来(含2024最新避坑指南)

从SolidWorks到Gazebo:工业级机器人模型仿真全流程实战 在机器人开发领域,从机械设计到功能仿真的完整工作流正成为工程师的核心竞争力。本文将带你深入探索如何将SolidWorks设计的tianbot_mini小车模型转化为Gazebo中可交互的智能体,涵盖URD…...