輸入關鍵字搜尋已發布文件。
mywebdrive
部署、備份與恢復
生產設定、不可變鏡像、發佈清單、回滾以及獨立資料備份的邊界。
生產發佈前準備
生產權威是 infrastructure/alicloud/docker-compose.core.yml,發佈和回滾入口分別是同目錄的 deploy.sh、rollback.sh。環境模板為 env.example。由實例運營者在受保護位置設定生產值,不應複製倉庫歷史環境、資料庫備份或開發默認值。
生產需要 Core 資料庫、Redis、對象存儲、私有郵件適配器、Web、Nginx 和觀測服務。設置自己的域名、HTTPS、持久卷權限和網絡邊界。本文不指定他人的伺服器、SSH 身份或部署地址。
核對關鍵設定
| 設定 | 用途與要求 | | --- | --- | | CORE_DATABASE_URL、REDIS_URL | 當前 Core 和協調服務的連接;不能用舊拆分服務的 schema 代替 | | CORE_SESSION_SECRET、OTP_PEPPER、STORAGE_GRANT_SECRET、CORE_CALLBACK_SECRET | 生產至少 32 個 UTF-8 位元組,四項彼此不同,不能使用開發默認值 | | EMAIL_PROVIDER_URL、EMAIL_PROVIDER_TOKEN | Core 到私有郵件投遞適配器;生產 token 至少 32 位元組 | | DEFAULT_USER_QUOTA_BYTES | 非負十進制整數,明確新使用者額度 | | CORE_ADMIN_EMAILS | 新使用者初次創建時的管理員郵箱設定;不自動改寫已有角色 | | REGISTRY、IMAGE_TAG | 已通過發佈門的鏡像倉庫與固定提交標籤 |
郵件適配器還需按其模板設定真實投遞提供商;fake-email 只用於測試。不要因 API 接受發送請求就宣告真實郵箱驗收通過。
部署與發佈證據
先通過質量檢查、隔離 smoke、瀏覽器驗收併發布對應鏡像。IMAGE_TAG 必須是 sha- 加 40 位小寫十六進制的真實已發佈提交,不用 main、latest 或本地未發佈提交代替。
: "${IMAGE_TAG:?Set the tested immutable release tag}"
bash infrastructure/alicloud/deploy.sh "$IMAGE_TAG"腳本執行發佈鎖、鏡像摘要解析、遷移、啓動、健康和版本檢查,原子記錄 current.env 與歷史 manifest。併發發佈以退出碼 75 拒絕,應等待現有發佈結束,不能刪除鎖強行併發。
上線後核對實際鏡像摘要與 manifest、服務健康及版本,並完成真實郵箱登入、小檔案上傳、後台完成、下載內容一致、公開/私有權限檢查。公共 /healthz 只檢查 Nginx 邊界;/version、/live、/ready、/metrics 和 /api/v1/internal/* 是私有或運維接口,不要為了外部探針把它們公開。
回滾不是恢複資料庫
回滾目標必須存在於歷史 manifest。設置 TARGET_TAG 為那個已驗證標籤後執行:
: "${TARGET_TAG:?Set a recorded rollback release tag}"
bash infrastructure/alicloud/rollback.sh "$TARGET_TAG"腳本沿用不可變鏡像和健康檢查合同。應用回滾不保證自動逆轉資料遷移或恢復已改寫檔案;遷移兼容性應在發佈前核對。不得刪除持久卷“回滾”。
備份與恢復
版本列表、鏡像和發佈 manifest 都不是完整使用者資料備份。運營者需要分別保護資料庫、對象資料、必要設定和密鑰,定義一致性時間點與恢復順序,並在隔離環境演練。不要將備份提交到原始碼庫或上傳為公開文件附件。
當前指南沒有可驗證的統一一鍵備份命令,也不承諾零資料丟失、固定 RPO/RTO 或自動災難恢復。記錄每次備份的範圍、校驗和、訪問權限和實際恢復結果;僅有備份檔案不證明能恢復服務。