在 Jenkins 里“回滚版本”通常有三种常见场景,做法不太一样,下面按最常用 → 进阶给你说明。
适用场景:代码没删、只是想回到之前的提交
Branch/Tag:origin/release-1.0Commit ID✅ 本质是:用旧代码重新部署一次
适用场景:已经发布错误代码,需要从源头回退
git revert <错误提交ID>
git push
Jenkins 自动触发构建 → 相当于“逻辑回滚”
git reset --hard <旧提交>
git push -f
⚠️ 会改写历史,团队慎用
示例:
cp app-1.0.jar app.jar
systemctl restart app
kubectl rollout undo deployment/app
docker tag app:1.0 app:latest
docker restart app
✅ 每次构建保留:
✅ 使用参数化构建:
DEPLOY_VERSIONGIT_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 |
如果你愿意,可以告诉我:
我可以给你精确到步骤的操作方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。