在Ubuntu上使用Jenkins進行版本回滾,可通過以下方式操作:
-
手動回滾(基于構建歷史)
- 在Jenkins項目頁面進入「Build History」,找到需回滾的構建版本,點擊「Rebuild」或使用「Copy Build Artifacts」插件復制舊版本產物并重新部署。
- 適用于測試環境或非關鍵生產場景的快速回滾。
-
參數化回滾(通過腳本控制)
- 在Jenkins Pipeline中定義參數化構建,添加「ROLLBACK_VERSION」參數,回滾時輸入目標版本號(如Git commit hash或Docker鏡像標簽)。
- 示例腳本:通過
git reset --hard <版本號>
回退代碼,或使用docker service update --image <舊鏡像標簽>
更新部署的容器鏡像。
-
自動化回滾(基于健康檢查)
- 配合監控工具(如n8n)檢測應用狀態,當異常時觸發Jenkins回滾任務,自動執行預設的回滾腳本。
- 腳本邏輯:拉取舊版本代碼/鏡像→停止當前服務→部署舊版本→驗證服務狀態。
-
備份恢復回滾
- 部署前通過腳本備份項目文件或數據庫(如
tar -zcf backup.tar.gz /var/www/html
),回滾時解壓備份文件覆蓋當前環境。
- 適用于需要完整環境還原的場景。
注意事項:
- 回滾前需確保備份可用,避免數據丟失。
- 生產環境建議優先通過「Pin Build」鎖定穩定版本,減少手動操作風險。
- 自動化回滾需提前測試腳本邏輯,確保版本標識與部署流程匹配。