输入关键词搜索已发布文档。
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 或自动灾难恢复。记录每次备份的范围、校验和、访问权限和实际恢复结果;仅有备份文件不证明能恢复服务。