rollback 命令
回滚到之前的部署版本。
语法
bash
shipfe rollback [options] [version]描述
rollback 命令将应用回滚到指定的历史版本。如果不指定版本,则回滚到上一个版本。
选项
| 选项 | 描述 |
|---|---|
-c, --config <file> | 指定配置文件路径 |
-d, --debug | 启用调试模式 |
--dry-run | 预览模式,不实际执行回滚 |
-h, --help | 显示帮助信息 |
参数
version: 可选,要回滚到的版本号(时间戳格式,如20260304_120000)
示例
回滚到上一版本
bash
shipfe rollback自动回滚到最近的稳定版本。
回滚到指定版本
bash
shipfe rollback 20260304_120000回滚到特定的历史版本。
预览回滚
bash
shipfe rollback --dry-run显示将要回滚到的版本,但不实际执行。
回滚流程
1. 版本选择
- 如果指定了版本,直接使用
- 如果未指定,自动选择最新的可用版本(非当前版本)
2. 验证检查
- 检查目标版本是否存在
- 验证快照文件的完整性
- 确保版本文件未损坏
3. 原子切换
- 切换
current符号链接到目标版本 - 确保切换的原子性
4. 状态验证
- 验证切换后的符号链接正确
- 检查应用是否正常运行
查看可用版本
要查看可回滚的版本:
bash
# SSH到服务器查看
ssh user@server "ls -la /var/www/myapp/releases/"
# 或使用shipfe日志
tail -f shipfe.log回滚历史
每次回滚都会记录在日志中:
2026-03-04 12:01:00 INFO Starting rollback to version 20260304_110000
2026-03-04 12:01:01 INFO Successfully rolled back to version 20260304_110000注意事项
- 回滚不会删除任何版本,只改变当前链接
- 可以多次回滚到不同版本
- 回滚操作是可逆的,可以再次部署新版本
错误处理
如果回滚失败:
- 当前版本保持不变
- 详细错误信息输出
- 不会影响应用的可用性