跳至主要內容
返回學習中心
11運維閱讀 10 分鐘進階

指南 07 · 運維

精確切換與回滾

一次安全切換其實是兩次已經準備好的安裝:你計劃啟用的目標,以及隨時可以恢復的精確舊狀態。

最後驗證
2026年8月15日
執行環境
0.1.0-rc.8
驗證範圍
  • 單一啟用直接依賴
  • 精確 rollback 製品記錄
  • CLI 與真實執行時後置檢查
本頁目錄
  1. 同時準備切換兩端
  2. 只在目前狀態匹配時回滾

同時準備切換兩端

受支援的 web profile 模型只保留一個 @dsh-themes/* 直接包。切換會先移除舊包再新增目標,所以必須在第一次修改前準備恢復材料。

  1. 01

    檢查並識別目前狀態

    從 web profile 讀取直接包名與精確版本。依賴不明確或存在版本範圍時應停止。

  2. 02

    校驗目標製品

    讓受控下載與完整 artifact SHA-256、manifest 身份、精確相容性、slug 和 version 一致。

  3. 03

    校驗舊製品

    準備舊版本的精確 tgz 與摘要;如果舊狀態是內建配色,則明確記錄沒有 @dsh-themes/* 包。

  4. 04

    寫入 rollback 記錄

    記錄 previous、target 身份,以及已驗證製品的絕對路徑與完整製品摘要;不要寫入 profile 內容或憑據。

  5. 05

    確認即將發生的修改

    移除任何內容前,複核 current、target、相容性與已準備的回滾資訊。

bash
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs plugin --profile web remove @dsh-themes/current-theme
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs plugin --profile web add /absolute/path/to/verified-target.tgz --save-exact
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs plugin --profile web list --json
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs --profile web --dump-config
這只是命令形態。請使用精確包身份與事先校驗過的絕對製品路徑。

只在目前狀態匹配時回滾

  1. 01

    驗證記錄

    修改 profile 前,拒絕格式錯誤、欄位缺失、檔案已移動或身份不匹配的製品引用。

  2. 02

    確認目前 target 仍然匹配

    如果 profile 在切換後又被獨立修改,不要直接消費原 rollback 記錄。

  3. 03

    重新校驗舊製品

    安裝前再次檢查完整位元組;payload hash 不能替代完整製品摘要。

  4. 04

    移除目標並恢復精確舊狀態

    安裝原來的精確包;若返回內建配色,則不安裝任何 @dsh-themes/* 包。

  5. 05

    重啟並驗證

    確認唯一預期直接依賴,檢查 dump config,重啟 DSH,再驗證真實執行時身份。

始終從已驗證輸入開始

常見問題

修改前需要了解的事項

關於格式、相容性、證據與回滾的簡明說明。

這篇指南核實哪些範圍?

本指南涵蓋:單一啟用直接依賴;精確 rollback 製品記錄;CLI 與真實執行時後置檢查

我應該先做什麼?

一次安全切換其實是兩次已經準備好的安裝:你計劃啟用的目標,以及隨時可以恢復的精確舊狀態。

最需要記住的邊界是什麼?

如果切換中途失敗,應移除殘缺 target,再安裝已經準備好的 previous 製品。穩定狀態只能是一個 @dsh-themes/* 直接包,或者內建配色。

繼續學習

檢視驗證證據並繼續操作

對比已釋出製品,或返回安裝文件。