跳到正文

本地目录 ​

用 CLI 直接从你的电脑部署代码,不需要先推送到 Git。Zenavo 构建上传内容的方式和构建仓库完全一样:有 Dockerfile 就用 Dockerfile,没有就用 zbpack。

sh
cd my-app
zenavo deploy web --dir .

CLI 会打包目录,作为服务的来源上传,并跟踪构建过程。再次运行同一条命令即可部署新版本。

部署到哪个服务 ​

  • zenavo deploy <service> --dir . 上传到指定的服务。如果项目中没有这个名称的服务,会自动创建。
  • 不指定服务名称时,使用项目中唯一的服务。如果项目中没有服务,会创建一个以目录名命名的服务;如果有多个,CLI 会询问(或者传入 --service)。

新服务的 HTTP 端口来自 --port、构建计划识别出的端口(Dockerfile 中的 EXPOSE),或者 8080(zbpack 镜像监听的端口)。之后用 zenavo domain add 为它绑定域名。

已有的服务会保留根目录、Dockerfile 路径、构建参数和 zbpack 选项。它的 Git 或镜像来源会被上传内容替换,并关闭自动部署。要切换回仓库,在服务的 设置 中修改。

上传哪些内容 ​

始终不上传:.git、.hg、.svn 和 .DS_Store。

如果目录中有 .zenavoignore(.gitignore 语法),其他要排除的内容只由它决定。没有的话,CLI 会排除 node_modules、Python 虚拟环境、__pycache__ 和 .env 文件(.env.example 除外),以及目录中 .gitignore 和 .dockerignore 列出的所有内容。依赖会在构建时重新安装;密钥请设置为变量。

上传内容压缩后最大 500 MB,解压后最大 2 GB。符号链接必须指向目录内部:指向其他位置的链接会被 CLI 排除并给出警告。

上传内容保存在哪里 ​

上传内容保存在控制面上,只有你团队的构建能读取。服务较早的上传内容会在新的上传满一小时后删除,删除项目时全部删除。回滚不需要它们:每次部署的镜像都保存在镜像仓库中。

与 Zeabur 无关联。