Closed DCRichards closed 6 years ago
I'm sorry I didn't get around to this before... It's been a busy time for me..
This is probably an issue with the mounted volume. MacOS does not natively support Docker, which is why it's run inside a VM. Everything inside this VM works just fine, but a mounted volume will persist changes to the host. If, however, the VM filesystem tries to do something that's not supported by the host, you got yourself an error.
I'm not sure I can fix this though. The plugin isn't doing anything wrong. Are you using Docker for Mac or the older Docker Toolbox?
Hey @mjwwit, no worries, thanks for getting back to me.
I'm using the latest Docker for mac: 17.09.0-ce, build afdb6d4.
Is there a good way to get more info or debug this a little further myself?
Well, you can run the project outside of Drone like this: https://github.com/Drillster/drone-volume-cache#usage
If you need more logging, just clone this repo, add some additional echo
s, build your own image and run that. If you can isolate which file permissions are causing the issue we may be able to figure out a solution.
Sure thing, I'll look into it and let you know how I get on!
Aha... symlinks. Everything in node_modules/.bin/
is a symlink and this causes issues for rsync as it tries to resolve and copy it as a symlink, which seems to fail (I'm not 100% sure why... not sure what issue docker volumes have with it). We could run with -L
which will create the file rather than as a symlink? As long as binary correctly exists in .bin/
it will be accessible to any node scripts right? And the same with any other files of other kinds which are symlinks.
The purpose of caching something is to make sure the file system is as close to the original as possible. If I start replacing links with the actual files that'd be changing the file system, which may cause way more problems than the one you're having. We should see why Docker for Mac can't deal with symlinks and get that fixed instead.
I'm closing this as it's an issue of Docker for Mac.
Drone cli version: 0.7.0 OS: OSX 10.12.6
I encounter the following error when using caching with
drone exec
:My project is a simple node based project with the following setup for the cache:
Could this be a permissions issue relating to
/tmp/cache
? Looking in/tmp/cache
however, I am able to seenode_modules
.