Nanobox block on "Syncing app over previous deploy..."

59 Views Asked by At

I'm trying to deploy my apps with nanobox, but two last days, script is blocked on "Syncing app over previous deploy..." step.

I try with nanobox deploy myapp -vvv, after even nanobox implode.

I try with another apps, but the problem persists. Also, app is working fine and is possible redeploy from dashboard.

Any ideas?

$ 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...
2

There are 2 best solutions below

0
On BEST ANSWER

This is common "issue". You need just wait.

How prevent the excessive time when you deploy?

  • Deploy allways from same PC. Maybe you like to put this process on pipeline.
  • Check .nanoignore file. You cant test it with rsync --dry-run.
  • Check cpu usage on Nanobox dashboard. Nanobox use a lot of resources on main instance. When you are deploying, nanobox-cli request to server an image of your application, then server needs to do a zip file with your all application. Next, this file is downloaded, compared, and upload the difference. This is a big task for a cheap dropplet (5 USD, for example).
0
On

Super late reply, but since this was the first hit when I searched for it...

Just had this problem.

Check to make sure you don't have huge files in your network directories, as Nanobox will try to sync them (even though they will be ignored in production!)

Also, add all directories you don't need in production to .nanoignore file at the root of the project (behaves just like .gitignore) as that will make your deployment go much faster.

Network Directories

If your app includes network directories, we highly recommend adding those same directories to your .nanoignore. The contents of these directories are replaced by network mounts when your production app is deployed. Anything contained in these directories doesn't need to be included in the build.