用途:在修改任何 Elixir/Phoenix 部署或发布配置前使用,属于部署环节的强制检查清单,用于规避发布版(release)配置的常见陷阱。
主要能力:给出 runtime.exs 与 config.exs 的使用规则;发布版迁移的模块写法与执行命令;PHX_HOST、PHX_SERVER 与端口/HTTPS 设置;多阶段 Docker 构建中 mix assets.deploy 与 mix release 的先后顺序;密钥通过 System.fetch_env!/1 读取以在缺失时启动即崩溃;带数据库探活的 /health 端点;生产日志级别配置。
使用方式:按规则在 config/runtime.exs 中读取环境变量与密钥,不在 config/prod.exs 中读环境变量。迁移通过发布命令执行,例如 bin/my_app eval "MyApp.Release.migrate()",回滚用 bin/my_app eval "MyApp.Release.rollback(MyApp.Repo, <version>)"。密钥可用 mix phx.gen.secret 生成。构建顺序为先 mix assets.deploy 再 mix release,Docker 采用多阶段构建。启动后验证 /health 返回 HTTP 200 与 {"database": "connected"};失败时由运维人工排查并手动执行回滚。
适用场景:需要打包 Elixir release、用 Docker 部署 Phoenix 应用、配置运行时环境变量与健康探针的场合。
限制:健康检查为只读探活,仅执行 SELECT 1,不写入、不迁移、不删除;具体收费、价格与平台支持情况暂未提供。文中提及与 telemetry-essentials 的先后关联,其后续技能为无。