This repository has been archived on 2024-04-29. You can view files and clone it, but cannot push or open issues or pull requests.
node-fftcg/Makefile

41 lines
1 KiB
Makefile
Raw Normal View History

COMPOSE:=docker-compose
ifeq ($(shell which $(COMPOSE) > /dev/null; echo $$?),0)
# prefer system's docker-compose
else ifeq ($(shell which pipenv > /dev/null; echo $$?),0)
# fallback to pipenv
COMPOSE:=$(shell pipenv run which $(COMPOSE))
$(info found compose as $(COMPOSE))
else
$(error compose not found, please install)
endif
# need root privileges?
PRIVGROUP:=docker
ifneq ($(findstring $(PRIVGROUP),$(shell groups)),$(PRIVGROUP))
$(info need to run compose as root)
COMPOSE:=sudo $(COMPOSE)
endif
2019-02-13 16:25:05 +00:00
CANARY:=node_modules/.yarn-integrity
2019-02-07 16:03:20 +00:00
.PHONY: all
all: develop
2019-02-13 16:25:05 +00:00
%/$(CANARY):
$(eval image:=$(patsubst %/$(CANARY),%,$@))
2019-02-07 16:03:20 +00:00
$(COMPOSE) build $(image)
$(COMPOSE) run --rm $(image) yarn install --production=false
DFILES:=$(wildcard */Dockerfile)
IMAGES:=$(patsubst %/Dockerfile,%,$(DFILES))
.PHONY: develop
2019-02-13 16:25:05 +00:00
develop: $(patsubst %,%/$(CANARY),$(IMAGES))
2019-02-07 16:03:20 +00:00
$(COMPOSE) up
.PHONY: production
production:
$(COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml build
$(COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml up -d