.DEFAULT_GOAL := dev_up_b CONTAINER_COMPOSE ?= $(CONTAINER_ENGINE)-compose CONTAINER_ENGINE ?= docker clean: sudo rm -rfv build/ public/assets/*.js public/assets/*.js.gz public/assets/version.json cleandeps: sudo rm -rfv public/assets/deps.js # ensure ./db/data exists and is not owned by root data_dir: ./scripts/data_dir.sh $(CONTAINER_ENGINE) # ensure the required environment variables exist when running with prod config ensure_prod_env: ./scripts/ensure_prod_env.sh # manage the override symlink clean_link: rm -f docker-compose.override.yml dev_link : clean_link ln -s docker-compose.dev.yml docker-compose.override.yml prod_link : clean_link ln -s docker-compose.prod.yml docker-compose.override.yml # dev config, run locally dev_build : dev_link data_dir $(CONTAINER_COMPOSE) build dev_up : dev_link data_dir $(CONTAINER_COMPOSE) up dev_up_b : dev_link data_dir $(CONTAINER_COMPOSE) up --build # prod config, run locally prod_build : prod_link data_dir ensure_prod_env $(CONTAINER_COMPOSE) build prod_up : prod_link data_dir ensure_prod_env $(CONTAINER_COMPOSE) up prod_up_b : prod_link data_dir ensure_prod_env $(CONTAINER_COMPOSE) up --build prod_up_b_d : prod_link data_dir ensure_prod_env $(CONTAINER_COMPOSE) up --build --detach prod_rack_up_b_d : prod_link data_dir ensure_prod_env $(CONTAINER_COMPOSE) up --build --no-deps --detach rack && \ $(CONTAINER_COMPOSE) up --build --no-deps --detach queue && \ sleep 20 && \ $(CONTAINER_COMPOSE) up --build --no-deps --detach rack_backup # remotely deploy latest master in prod prod_deploy : clean $(CONTAINER_COMPOSE) run rack rake precompile && \ rsync --verbose --checksum public/assets/*.js public/assets/*.js.gz public/assets/version.json deploy@18xx:~/18xx/public/assets/ && \ ssh -l deploy 18xx "source ~/.profile && cd ~/18xx/ && git pull && make prod_rack_up_b_d"