我正在尝试使用 nanobox 部署我的应用程序,但最近两天,脚本在"通过以前的部署同步应用程序..."时被阻止步。
我尝试用nanobox deploy myapp -vvv
,甚至nanobox implode
之后.
我尝试使用其他应用程序,但问题仍然存在。此外,应用程序运行良好,可以从仪表板重新部署。
有什么想法吗?
$ nanobox deploy apicultor-20 -vvv
Root privileges are required to start the server. Your system password may be requested...
[sudo] password for pablosk:
Skipping (already running) :
Preparing environment :
Compiling application :
Starting docker container :
Preparing environment for compile :
- Copying ssh keys into the build environment...
- Setting up directories and permissions...
Compiling code :
- Cleaning up any previous releases...
- Copying code...
- Moving build into live code directory...
Deploying app :
Starting docker container :
Uploading :
- Copying ssh keys into the build environment...
- Syncing app...
- Extracting app from previous deploy...
- Syncing app over previous deploy...
超级晚的回复,但由于这是我搜索它时的第一个命中......
刚有这个问题。
检查以确保您的网络目录中没有大文件,因为 Nanobox 会尝试同步它们(即使它们在生产中会被忽略!
此外,将生产中不需要的所有目录添加到项目根目录下.nanoignore
文件(行为就像.gitignore
一样(,因为这会使您的部署速度更快。
网络目录
如果你的应用包含网络目录,我们强烈建议将这些相同的目录添加到 .nanoignore 中。部署生产应用时,这些目录的内容将替换为网络装载。这些目录中包含的任何内容都不需要包含在构建中。
这是常见的"问题"。你只需要等待。
如何防止部署时时间过长?
- 从同一台 PC 进行所有部署。也许你喜欢把这个过程放在管道上。
- 检查
.nanoignore
文件。您无法用rsync --dry-run
. - 在Nanobox仪表板上检查CPU使用率。Nanobox在主实例上使用大量资源。当您部署时,nanobox-cli 请求服务器应用程序的映像,然后服务器需要对所有应用程序执行 zip 文件。接下来,下载、比较并上传此文件的差异。对于便宜的水滴(例如 5 美元(来说,这是一项艰巨的任务。