surfer put crashes with --delete option and Error: ENOENT: no such file or directory
-
@nebulon ok I think the issue for this was limited system ressources and the server just couldn't cope with it. It's odd that Drone (using the package frrom @fbartels) didn't recognize the surfer error as a problem in the pipeline but thought it was successful.
Either way, this leaves still the problem with larger deployments, when the removing of the files takes 1-2 minutes, you have more or less a downtime in between deployments, because the new/changed files will only be uploaded afterwards.
Idea for a solution: Be able to change the path to
/public
in something like/release/<timestamp>/
via symlink, so one could deploy the files and when they're all up, change the symlink to the latest one and keep the last 3 deployments as backups. Is that something that could be implemented? Or how is everyone else solving that problem? -
Ok the problem is not solved after all, I thought it was, having a dedicated VPS for the runners, but it still fails every other time that it's being triggered.
The way I see it, there are a few possible paths to go down:
- add a flag to not throw an error/ignore when a file cannot be removed because it's no longer there so the rest of the deployment can continue
- transfer all files first, then compare and remove the files which are on target but not on source
- add a flag to delete * on target before uploading new files
Any other suggestion is welcome, but I'm running out of ideas tbh
-
@msbt so I could add the "contine on error" mode, however I do wonder why files are deleted on the remote then. This suggests something else is operating on the files there so I am not sure a contine on error does not incur other races here and result in unexpected status.
-
@msbt alright, then maybe you can give me access to your Cloudron hosting the second test surfer instance, to debug this?
If so, please send a mail to support@cloudron.io with your dashboard domain and remote SSH enabled. Also let me know how to exactly reproduce this.
-