brikis98 / docker-osx-dev

A productive development environment with Docker on OS X
http://www.ybrikman.com/writing/2015/05/19/docker-osx-dev/
MIT License
1.43k stars 106 forks source link

Could you point me on how to fix this for Ember so the rsync works #175

Closed devotox closed 8 years ago

devotox commented 8 years ago

-e 2016-02-19 18:06:15 [INFO] deleting intranet/tmp/babel-cache_path-CItsit3U.tmp/ -e 2016-02-19 18:06:15 [INFO] rsync: opendir "/Users/devonte/Downloads/platform/intranet/tmp/babel-cache_path-2UpN5vXA.tmp" failed: Permission denied (13) -e 2016-02-19 18:06:15 [INFO] deleting intranet/tmp/babel-cache_path-2UpN5vXA.tmp/ -e 2016-02-19 18:06:15 [INFO] rsync: opendir "/Users/devonte/Downloads/platform/intranet/tmp/babel-cache_path-0B9iFcdp.tmp" failed: Permission denied (13) -e 2016-02-19 18:06:15 [INFO] deleting intranet/tmp/babel-cache_path-0B9iFcdp.tmp/ -e 2016-02-19 18:06:15 [INFO] deleting intranet/tmp/funnel-output_path-Vum0IVtX.tmp -e 2016-02-19 18:06:15 [INFO] deleting intranet/tmp/funnel-output_path-1mfn7IpO.tmp -e 2016-02-19 18:06:15 [INFO] IO error encountered -- skipping file deletion -e 2016-02-19 18:06:15 [INFO] Syncing intranet/app/app.js -e 2016-02-19 18:06:15 [INFO] Syncing intranet/dist/.DS_Store -e 2016-02-19 18:06:15 [INFO] rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(992) [sender=2.6.9]

brikis98 commented 8 years ago

Can you provide a bit more info? What folders are you syncing? What is in those folders? What settings are you using with docker-osx-dev?

From a quick glance, I see a lot of tmp folders, probably from Ember of Babel. These tmp folders are in your Docker container, but not on your host OS, as Ember/Babel are running within the Docker container. As a result, when rsync runs, it's trying to update the Docker container to match your host OS, and therefore is trying to delete those files (and possibly hitting errors because it doesn't have permissions for them). If that's correct, then what you want to do is to pass flags to docker-osx-dev telling it to configure rsync to ignore those tmp folders.

Check out the -e and -i flags in docker-osx-dev (run docker-osx-dev -h for help).

devotox commented 8 years ago

e 2016-02-19 18:41:59 [ERROR] RSYNC COMMAND: rsync --archive --log-format 'Syncing %n' --delete --omit-dir-times --inplace --whole-file -l --include .elasticbeanstalk/.cfg.yml --include .elasticbeanstalk/.global.yml --include .gitkeep --include *.ember-cli --exclude docker-compose.yml --exclude website/public/sitemap.xml --exclude .ebextensions/environment.config --exclude .htpasswd --exclude .nginx --exclude .git --exclude .gitignore --exclude app.min --exclude intranet/dist --exclude intranet/tmp --exclude node_modules --exclude bower_components --exclude test-reports/* --exclude test-coverage/* --exclude coverage/* --exclude .DSStore --exclude .sass-cache --exclude connect.lock --exclude testem.log --exclude npm-debug.log --exclude libpeerconnection.log --exclude thumbs.db --exclude .komodoproject --exclude .komodotools --exclude .sublime --exclude lib-cov --exclude .seed --exclude .log --exclude .dat --exclude .out --exclude .pid --exclude .gz --exclude pids --exclude logs --exclude results --exclude build --exclude .elasticbeanstalk --exclude .elasticbeanstalk/_ --rsh="ssh -i /Users/devonte/.docker/machine/machines/doctify-dev/id_rsa -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /Users/devonte/Downloads/platform/logs docker@192.168.99.100:/Users/devonte/Downloads/platform 2>&1 | grep -v "^Warning: Permanently added"

devotox commented 8 years ago

i passed in -i a .rsyncignore file containing

docker

docker-compose.yml

SSL / Config

website/public/sitemap.xml .ebextensions/environment.config

.htpasswd .nginx

git

.git .gitignore

compiled output

app.min* intranet/dist intranet/tmp

dependencies

node_modules bower_components

tests

test-reports/ test-coverage/ coverage/*

misc

.DS_Store .sass-cache connect.lock testem.log npm-debug.log libpeerconnection.log

thumbs.db .komodoproject .komodotools *.sublime

Others

lib-cov .seed .log .dat .out .pid .gz

pids logs results build

Elastic Beanstalk Files

.elasticbeanstalk .elasticbeanstalk/* !.elasticbeanstalk/.cfg.yml !.elasticbeanstalk/.global.yml

Allow Gitkeep

!.gitkeep !.ember-cli

api testing async cache files

async-disk-cache/*

devotox commented 8 years ago

the location of the tmp and dist directory causing the problems are intranet/tmp intranet/dist

brikis98 commented 8 years ago

Odd. Perhaps you need to exclude something like intranet/tmp/*?

devotox commented 8 years ago

Not sure how, not sure why but it seems to be working now ... maybe it just needed to rebuild the images one more time. You can close this issue and ill open a new one if anything. but yh this by far is hands down the best solution ive seen. Just wasted a day trying to use it with vagrant due to this not working for ember and it was just as slow and horrible as every other solution. And now that i have this working for ember ... looks like green pastures from here.

Thank you again for the help

brikis98 commented 8 years ago

No problem. I'm glad it's working for you. Feel free to open a new issue if you hit problems in the future :)