术语澄清与适用范围

业界并无通用的“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挂载、网络与关键业务服务状态。