跳到正文

本機目錄 ​

用 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 無關聯。