CentOS Trigger升级注意事项
术语澄清与适用范围
业界并无通用的“CentOSTrigger”这一官方工具名称,实际讨论多指两类场景:
使用preupgrade-assistant+redhat-upgrade-tool(或centos-upgrade-tool-cli)触发的跨小版本/跨大版本升级流程(常见于CentOS7环境)。
在Jenkins流水线中通过GenericWebhookTrigger等“触发器”驱动部署/升级作业。
另有可能与监控告警中的ZabbixTrigger混淆,它并非系统升级工具。下文分别给出两类场景的升级注意事项。
CentOS系统升级注意事项(preupgrade-assistant+redhat-upgrade-tool流程)
备份与回滚预案
完整备份关键数据与配置(含数据库、应用配置、证书、密钥),并准备回滚方案(快照/克隆/离线备份)。
检查并妥善留存/etc/fstab等挂载与引导关键配置,避免升级后挂载异常。
版本与仓库准备
确认当前系统版本:cat/etc/redhat-release;评估升级路径与目标仓库可达性。
导入必要GPG密钥,确保升级包可信;按需调整/etc/yum.repos.d/中的升级专用仓库配置(如创建upgrade.repo)。
兼容性与风险评估
安装并运行preupgrade-assistant做兼容性检查,逐项处理不兼容项后再继续。
规划维护时间窗口,尽量在低峰时段执行,减少对业务影响。
执行升级与重启
使用redhat-upgrade-tool/centos-upgrade-tool-cli执行升级;升级完成后重启系统。
验证新系统版本:cat/etc/redhat-release。
内核与引导管理
建议保留多内核共存,在GRUB菜单中可选择旧内核回退,避免新内核异常导致无法启动。
必要时调整GRUB_TIMEOUT/GRUB_DEFAULT并重新生成GRUB配置。
升级后验证与观测
使用uname-r确认新内核生效;查看系统日志与关键服务状态,确保业务正常。
Jenkins触发器升级注意事项(GenericWebhookTrigger等)
触发条件与分支策略
通过GenericTrigger的regexpFilterText/regexpFilterExpression精确匹配分支(如仅允许dev/test),避免误触发生产部署。
支持“Webhook优先、手动参数兜底”的策略,确保可控性。
安全与认证
使用自定义Token校验来源可信;凭据(如SSH私钥/Git凭据)通过credentialsId管理,避免明文泄露。
对外部请求可启用silentResponse与日志打印策略,便于审计与排错。
版本与回滚
在流水线中固化构建与部署的版本号/镜像标签;保留最近几次可回滚版本的制品与元数据。
对数据库变更采用迁移脚本版本化与可回滚方案,与代码发布解耦。
运行环境与依赖
明确JDK与Jenkins版本矩阵,避免因组件升级导致插件/脚本不兼容。
在升级前于预发布/灰度环境完整演练一次全链路流程。
常见陷阱与排查要点
内核升级导致无法启动
先评估硬件与驱动兼容性,尽量在测试环境验证;保留旧内核以便GRUB回退。
仓库与版本指向错误
跨小版本升级或需要固定版本时,注意$releasever与镜像源配置;必要时指向vault.centos.org的对应版本仓库。
升级中断或失败
检查YUM错误日志定位依赖/冲突;必要时回滚或切换到稳定镜像源重试。
升级后重点验证/etc/fstab挂载、网络与关键业务服务状态。

