Created
January 23, 2017 10:56
-
-
Save iammichiel/be5360cf33cbaecc1d4f6b016819a9f6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NODE_DOCKER_IMAGE = iammichiel/instant-docker-node:latest | |
PHP_DOCKER_IMAGE = iammichiel/instant-docker-php:latest | |
CONTAINER_USERNAME = root | |
CONTAINER_GROUPNAME = root | |
HOMEDIR = /root | |
DOCKER_SSH_IDENTITY ?= ~/.ssh/id_rsa | |
DOCKER_SSH_KNOWN_HOSTS ?= ~/.ssh/known_hosts | |
COMPOSER_CACHE_DIR = ~/.composer/cache | |
BOWER_CACHE_DIR = ~/.bower | |
YARN_CACHE_DIR = ~/.yarn-cache | |
ADD_SSH_ACCESS_COMMAND = \ | |
mkdir -p $(HOMEDIR)/.ssh && \ | |
test -e /var/tmp/id && cp /var/tmp/id $(HOMEDIR)/.ssh/id_rsa ; \ | |
test -e /var/tmp/known_hosts && cp /var/tmp/known_hosts $(HOMEDIR)/.ssh/known_hosts ; \ | |
test -e $(HOMEDIR)/.ssh/id_rsa && chmod 600 $(HOMEDIR)/.ssh/id_rsa ; | |
# utility commands | |
AUTHORIZE_HOME_DIR_COMMAND = chown -R $(CONTAINER_USERNAME):$(CONTAINER_GROUPNAME) $(HOMEDIR) && | |
EXECUTE_AS = sudo -u $(CONTAINER_USERNAME) HOME=$(HOMEDIR) | |
install: bower_components vendor/autoload.php | |
package: build | |
rm -rf node_modules | |
rm -rf bower_components | |
rm -rf vendor | |
docker run --rm -ti \ | |
-w /data \ | |
-v $(PWD):/data \ | |
-v $(COMPOSER_CACHE_DIR):$(HOMEDIR)/composer-cache \ | |
-v $(DOCKER_SSH_IDENTITY):/var/tmp/id \ | |
-v $(DOCKER_SSH_KNOWN_HOSTS):/var/tmp/known_hosts \ | |
$(PHP_DOCKER_IMAGE) sh -c '\ | |
$(ADD_SSH_ACCESS_COMMAND) \ | |
$(AUTHORIZE_HOME_DIR_COMMAND) \ | |
$(EXECUTE_AS) COMPOSER_CACHE_DIR=/root/composer-cache composer install --ignore-platform-reqs -o --no-dev' | |
watch: bower_components | |
docker run --rm -ti -w /data -v $(PWD):/data ${NODE_DOCKER_IMAGE} ./node_modules/.bin/gulp | |
build: bower_components | |
docker run --rm -ti -w /data -v $(PWD):/data ${NODE_DOCKER_IMAGE} "./node_modules/.bin/gulp build" | |
bower_components: node_modules | |
docker run -ti --rm=true \ | |
-w /data \ | |
-v $(PWD):/data \ | |
-v $(BOWER_CACHE_DIR):$(HOMEDIR)/.bower \ | |
${NODE_DOCKER_IMAGE} '\ | |
$(AUTHORIZE_HOME_DIR_COMMAND) \ | |
$(EXECUTE_AS) ./node_modules/.bin/bower install --allow-root \ | |
--config.interactive=false \ | |
--config.storage.cache=$(HOMEDIR)/.bower/cache \ | |
--config.storage.registry=$(HOMEDIR)/.bower/registry \ | |
--config.storage.empty=$(HOMEDIR)/.bower/empty \ | |
--config.storage.packages=$(HOMEDIR)/.bower/packages' | |
node_modules: | |
docker run --rm -ti \ | |
-w /data \ | |
-v $(PWD):/data \ | |
-v $(YARN_CACHE_DIR):$(HOMEDIR)/.yarn-cache \ | |
${NODE_DOCKER_IMAGE} \ | |
'$(AUTHORIZE_HOME_DIR_COMMAND) $(EXECUTE_AS) yarn --cache-folder $(HOMEDIR)/.yarn-cache' | |
vendor/autoload.php: | |
docker run --rm -ti \ | |
-w /data \ | |
-v $(PWD):/data \ | |
-v $(COMPOSER_CACHE_DIR):$(HOMEDIR)/composer-cache \ | |
-v $(DOCKER_SSH_IDENTITY):/var/tmp/id \ | |
-v $(DOCKER_SSH_KNOWN_HOSTS):/var/tmp/known_hosts \ | |
$(PHP_DOCKER_IMAGE) sh -c '\ | |
$(ADD_SSH_ACCESS_COMMAND) \ | |
$(AUTHORIZE_HOME_DIR_COMMAND) \ | |
$(EXECUTE_AS) COMPOSER_CACHE_DIR=/root/composer-cache composer install --ignore-platform-reqs' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment