ic-labs / django-icekit

GLAMkit is a next-generation Python CMS by the Interaction Consortium, designed especially for the cultural sector.
http://glamkit.com
MIT License
47 stars 11 forks source link

Prevent conflicts between Docker and Docker-like ./go.sh dev environments #289

Open jmurty opened 6 years ago

jmurty commented 6 years ago

There are two ways to bring up GLAMkit development environments: use Docker via docker-compose etc, or simulate a Docker-like environment with less overhead using the ./go.sh script.

Currently these two approaches conflict if you mix them in the same project. For example, testing real Docker builds after development in the ./go.sh Docker-like environment can lead to strange behaviour and conflicts.

I believe this is because docker-compose and ./go.sh use the same {PROJECT_ROOT}/var directory to store things like hash comparison files, which means the state of things like DB migrations and NPM/Bower installs can get out of whack.

The current workaround for conflicts is to either try and clean out the var/ directory by removing any .md5 and similar files, or just to rename var/ to something else to move it out of the way when switching between Docker and ./go.sh environments.

mrmachine commented 6 years ago

@jmurty I think the main conflict is node_modules gets installed into the same location, and within Docker it will include some Linux binaries which obviously don't work on macOS. bower_components should be file to share, as they are just static CSS and JS files. The Python environment should also be separate.

markfinger commented 6 years ago

This has been a known issue for some time: #20 :(