flisk - 导出
写出一个 Render 蓝图 (render.yaml)或云花(云花) wrangler.toml 从 service.json a 文件 颜色 项目.
它只写文件。 它从不部署,从不创建 DNS 记录,从不调用云 API,并写入环境变量 名称,从不重视。 Flisk CLI 以被绑定的版本运行它 : flisk export。 。 。 .
使用
npx @flisk-sh/flisk-export render [dir] [--resource <name>] [--out <dir>] [--dry-run] [--force]
npx @flisk-sh/flisk-export wrangler [dir] --resource <name> [--route <host>] [--out <dir>] [--allow-non-worker] [--dry-run] [--force]
或者,从一个Flisk项目: flisk export render --dry-run。 。 。 .
提交
- 出口其
appType实值backend, (中文(简体) ),frontend, (中文(简体) ),agent, (中文(简体) ),mcp或者说bring-your-own(资源无)appType不导出),或带有--resource。 。 。 . - 带有 Docker 文件的资源变为
runtime: docker; 一个带有package.json变成runtime: node。 。 。 . - 这个
service.jsonport以PORT,因为Render路线的交通到$PORT。 。 。 . - 其它的巢穴名称都用
sync: false,所以Render问 值。 无效的可变名称会被留出警告. healthCheckPath来自service.json(默认)/health) (中文(简体) ).- 路径相对 git 仓库根,这就是Render读取它们的地方,文件默认写在那里.
--out移动文件而不是路径. - 两种资源成为同一种服务名称(
api_v1财务报告和审定财务报表api-v1)被拒绝.
响铃
- 一个资源.
main来自package.jsonmain,或第一个src/index.ts, (中文(简体) ),src/index.js, (中文(简体) ),src/worker.ts, (中文(简体) ),src/worker.js, (中文(简体) ),index.ts, (中文(简体) ),index.js。 。 。 . - 带有 Docker 文件或没有文件的资源
wrangler, (中文(简体) ),@cloudflare/workers-types或者说hono除非--allow-non-worker。 。 。 . --route api.example.com写入自定义域路由。 免签:自定义域不接受.- 信封名称列于注释中
wrangler secret put。 。 。 .
开发
npm install
npm run typecheck && npm run lint && npm run build && npm test
编曲
flisk-export compose # writes .autogenerated/docker-compose.yml
flisk-export compose --check # exit 1 when that file is out of date (for CI)
写入 a 独立 docker-compose.yml 从你所有的 service.json 文档(image 或者说 dockerfile, (中文(简体) ), env, (中文(简体) ),
secrets.required, (中文(简体) ), envFile, (中文(简体) ), profiles, (中文(简体) ), models, (中文(简体) ), volumes, (中文(简体) ), extraPorts, (中文(简体) ), dependsOn, (中文(简体) ), healthCheck, (中文(简体) ), sidecarOf, (中文(简体) ), container) (中文(简体) ). 它运行时没有Flisk(docker compose --env-file .env -f .autogenerated/docker-compose.yml up -d 从工程根,因为 作曲寻找 .env 它读取的文件旁边: 没有外部
网络,无 FLISK_* 变量,没有生成机密. ${VAR} 参考文献 env,每个名字在 secrets.required,以 ${NAME} 用于编写 .env。 。 。 .
一册 name (一个安装的 Docker 音量) 被保留,项目以其堆栈命名( 或当 .flisk/project.json 已经 composeProjectNames.<stack> 从flisk-import中,它以前拥有的编译项目名称,例如 pl_mail),这样 docker compose up 找到和以前相同的数据.
一个 image 组合变量( C)postgres:${POSTGRES_VERSION:-18}-alpine其文如出一辙,由作曲解决; restart: "on-failure:N" 保持 N. 从 container数字 : stopGracePeriod 变成 stop_grace_period, (中文(简体) ), networkAliases 变成 networks: { default: { aliases } } (不见于a) sidecarOf 服务,没有自己的网络, extraHosts 变成 extra_hosts 财务报告和审定财务报表 ulimits 留下来 ulimits。检查每个值,使其不能添加 YAML 密钥;不匹配的是一个错误.
healthCheck.command 成为作曲 healthcheck (与 startPeriod 作为 start_period); 列出在 dependsOn 等待时间 service_healthy (仅在健康检查书写时:仅提供 healthCheckPath,或 enabled: false,等待着 service_started页:1 dependsOn 条目写入为 { name, condition } (flisk#2983)保持其状态. buildArgs 变成 build.args, (中文(简体) ), logging 留下来 logging,绑定源 ${NAME:-./path} 持续读取 NAME 并默认重写此文件, selinux 成为 :z编号 ::Z 挂载选项, 图像可能使用 ${NAME:?message} (英语:Flisk 1.4.28 fields). container.command 财务报告和审定财务报表 container.entrypoint (Flisk 1.4.31)成为编曲 command: 财务报告和审定财务报表 entrypoint: 以书面形式提交的清单$$ 财务报告和审定财务报表 ${VAR} stay,一个空入点将图像的ENTRYPOINT). 无服务 restart 获得无( Confose 的默认) , 因为项目自己的 Compose 文件有它 。 并列出一个 restart: "no" 任务等待 service_completed_successfully。 。 。 .
其他资源类型和 command (本土)服务不出口。 文件生成: 更改 service.json 运行它
再次使用 --force。它从不启动容器,也不叫API.
许可证
麻省理工学院