温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jenkins怎样回滚版本

发布时间:2026-10-02 00:58:39 来源:亿速云 阅读:114 作者:小樊 栏目:系统运维

在 Jenkins 里“回滚版本”通常有三种常见场景,做法不太一样,下面按最常用 → 进阶给你说明。


一、最简单:重新构建旧版本(推荐)

适用场景:代码没删、只是想回到之前的提交

做法

  1. 打开 Jenkins 项目
  2. 左侧点击 Build History
  3. 找到你想回滚到的那次构建(比如 #42)
  4. 点击进入 → Rebuild
  5. 如果是 Git 项目,可在构建参数中指定:
    • Branch/Tag:origin/release-1.0
    • 或 Commit ID

✅ 本质是:用旧代码重新部署一次


二、Git 回滚代码(真正改仓库)

适用场景:已经发布错误代码,需要从源头回退

方式 1:git revert(安全)

git revert <错误提交ID>
git push

Jenkins 自动触发构建 → 相当于“逻辑回滚”

方式 2:git reset(危险)

git reset --hard <旧提交>
git push -f

⚠️ 会改写历史,团队慎用


三、部署回滚(应用层回滚)

情况 A:War / Jar 项目

  • Jenkins 构建时保留旧包
  • 回滚时:
    • 停止服务
    • 替换旧包
    • 重启

示例:

cp app-1.0.jar app.jar
systemctl restart app

情况 B:Kubernetes

kubectl rollout undo deployment/app

情况 C:Docker

docker tag app:1.0 app:latest
docker restart app

四、Jenkins 最佳实践(防止回滚麻烦)

✅ 每次构建保留:

  • 构建号
  • Git Commit
  • 构建产物

✅ 使用参数化构建:

  • DEPLOY_VERSION
  • GIT_COMMIT

✅ Pipeline 示例(回滚友好):

pipeline {
    agent any
    parameters {
        string(name: 'GIT_COMMIT', defaultValue: 'main')
    }
    stages {
        stage('Checkout') {
            steps {
                git branch: params.GIT_COMMIT, url: 'repo.git'
            }
        }
    }
}

快速选择建议

场景 推荐方式
临时回退 Rebuild 旧构建
代码出错 git revert
生产紧急 部署旧包 / kubectl undo

如果你愿意,可以告诉我:

  • Jenkins 用的 FreeStyle 还是 Pipeline
  • 部署的是 Jar / War / Docker / K8s

我可以给你精确到步骤的操作方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手