# [进阶] 环境与隔离:像 Vercel 一样管理 Preview 与 Prod > **目标**:你已经具备了独立作战的全栈技能!在真正的企业级项目中,你一定会遇到配置环境变量、多环境隔离和版本发布回滚等场景。Licell > 的底层使用阿里云函数计算强大的别名引流能力,打造了一条媲美 Vercel > 的流畅分支引流链路。 ## 1. 业务痛点:多环境管理与故障回滚 如果在部署时直接将不成熟的代码推上主线接口地址: - 测试数据与生产数据弄混。 - 关键时刻报错导致线上全站不可用。 - 回滚步骤复杂:需要先找旧 Git 分支编完再重新提包。 而 Licell 最推崇且内置的标准实践是使用:**环境变量配置 + Target 别名机制 + 流量晋升模型**。 ## 2. 环境隔离:环境变量控制 针对同一个代码仓库,怎么让他在开发态连接测试库,上生产的时候连正式库? 使用强力的 `env` 注入命令: ```bash # 设置针对 preview 别名的鉴权密钥环境变量 licell env set JWT_SECRET "demo_test_secret" --target preview # 设置针对正式生产 prod 别名的环境变量 licell env set JWT_SECRET "PROD_secret_xxx_long" --target prod ``` 如果你希望获取并确认当前的配置,您可以使用: ```bash licell env list --target preview ``` > **最佳实践**:不要在代码里的 `.env` 去保存数据库账户密码。而应由负责人通过 > `licell env set` 集中打到远端的 Target 上,不仅保证了绝对安全,Agent 或者 CI > 构建系统提包时也永远不会泄露核心数据。 ## 3. 部署到沙盒预览(Preview) 一切准备就绪后,按照推荐流程拉开分支,开始您的功能测试。 ```bash licell deploy --type api --target preview ``` 你将立刻获得以你的环境命名的短域名链接,并将最新那一次代码发行的快照与 `preview` 标签(或在别名机制下的指向)给锚定住。 你不仅可以随时分享这个短链供 QA 人员访问并验收,所有的运行结果也并不会影响使用你的产品的主域名客户。 ## 4. 流量晋升 (Promote) 与丝滑上线 当负责人在 Preview 上验收完毕。 这个时候,不再需要重打包或触发耗时的上传过程,业务将使用毫秒级无缝倒流技术直接推入主战场: ```bash licell release promote --target prod ``` 这句指令意味着把指向 `preview` 目前稳定快照的那串哈希版本,**瞬时同步给名为 `prod` 的标签**!这一步之后,所有的主域正式网站开始接收新功能的验证和使用。 如果你想看看你们至今发了几轮晋升: ```bash licell release list --limit 20 ``` 就能清楚地看到每个版本和标签状态! ## 5. 秒级回滚你的故障! 如果上了 `prod` 后发生了资损级史诗 Bug,如何抢救它? 你只需要从 `release list` 中找出昨日正常使用的版本号 (例如 `20`),直接将时间倒转流: ```bash licell release rollback 20 --target prod ``` **发生了什么事?** 没有重启!没有下线倒计时! 这直接秒级重定向了入口处的流量路由开关,把您的产品回拨到了 20 号版本上,并与当前的失败函数完全解耦,用户再刷新页面的时候已经回到修复状态。 ## 6. 定期垃圾回收 (Prune) 别忘了,无限堆积的函数版本快照可能会超出云环境限制。定一次打扫: ```bash licell release prune --keep 10 --apply ``` 这个命令会聪明地把还在提供服务(具有别名关联)的最新快照全部原样保留,并且仅仅剔除那些陈旧冗余的历史版本。 --- **🎉 结语:** 这五篇文章带您跑完了 `Licell` 闭门造车的所有精华特性集:从开箱即用的安装配置、全面强大的 AI 加持辅助引擎、自动管理网络域以及证书分配、Serverless 数据服务的生命周期挂载,直到现在的全方位自动化 DevOps 与流量切割体系!在这个全平台统一化的流程指引下,再也没人会对你的云计算资源调度感到棘手了!