build(Makefile): remove SET_IMAGE in favour of LOCAL_CONTAINERFILE; use non-local postgres with launch args
This commit is contained in:
parent
9ce3b5d146
commit
d33a792045
33
Makefile
33
Makefile
@ -15,6 +15,8 @@ export IMAGE_REGISTRY = docker.io
|
||||
export MEMCACHED_IMAGE = $(IMAGE_REGISTRY)/memcached:latest
|
||||
export MINIO_IMAGE = $(IMAGE_REGISTRY)/minio/minio:latest
|
||||
export MAILDEV_IMAGE = $(IMAGE_REGISTRY)/maildev/maildev:latest # TODO: needs different port than 1025 to avoid conflicts
|
||||
export POSTGRES_IMAGE = $(IMAGE_REGISTRY)/library/postgres:12
|
||||
export LOCAL_CONTAINERFILE
|
||||
|
||||
export IN_CONTAINER ?= false
|
||||
export IN_CI ?= false
|
||||
@ -31,7 +33,7 @@ export SERVICE
|
||||
export SERVICE_VARIANT ?= $(SERVICE)
|
||||
export JOB
|
||||
export IMAGE
|
||||
export SET_IMAGE
|
||||
export MAKECALL
|
||||
export ENTRYPOINT
|
||||
export EXEC_OPTS
|
||||
|
||||
@ -113,6 +115,7 @@ start:
|
||||
.PHONY: %-backend
|
||||
%-backend: SERVICE=backend
|
||||
%-backend: SERVICE_VARIANT=backend
|
||||
%-backend: LOCAL_CONTAINERFILE=true
|
||||
%-backend: IMAGE=localhost/fradrive/backend
|
||||
%-backend: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443"
|
||||
|
||||
@ -120,17 +123,20 @@ start:
|
||||
%-uniworxdb: SERVICE=backend
|
||||
%-uniworxdb: SERVICE_VARIANT=uniworxdb
|
||||
%-uniworxdb: IMAGE=localhost/fradrive/backend
|
||||
%-uniworxdb: LOCAL_CONTAINERFILE=true
|
||||
|
||||
.PHONY: %-ghci
|
||||
%-ghci: SERVICE=backend
|
||||
%-ghci: SERVICE_VARIANT=ghci
|
||||
%-ghci: IMAGE=localhost/fradrive/backend
|
||||
%-ghci: LOCAL_CONTAINERFILE=true
|
||||
|
||||
.PHONY: %-hoogle
|
||||
%-hoogle: SERVICE=backend
|
||||
%-hoogle: SERVICE_VARIANT=hoogle
|
||||
%-hoogle: BASE_PORTS = "HOOGLE_PORT=8081"
|
||||
%-hoogle: IMAGE=localhost/fradrive/backend
|
||||
%-hoogle: LOCAL_CONTAINERFILE=true
|
||||
--start-hoogle:
|
||||
HOOGLE_PORT=`cat $(CONTAINER_FILE) | grep 'HOOGLE_PORT=' | sed 's/HOOGLE_PORT=//'` ; \
|
||||
stack $(STACK_CORES) hoogle -- server --local --port $${HOOGLE_PORT}
|
||||
@ -138,24 +144,28 @@ start:
|
||||
.PHONY: %-frontend
|
||||
%-frontend: SERVICE=frontend
|
||||
%-frontend: SERVICE_VARIANT=frontend
|
||||
%-frontend: LOCAL_CONTAINERFILE=true
|
||||
%-frontend: IMAGE=localhost/fradrive/frontend
|
||||
|
||||
.PHONY: %-postgres
|
||||
%-postgres: SERVICE=postgres
|
||||
%-postgres: SERVICE_VARIANT=postgres
|
||||
%-postgres: BASE_PORTS = "PGPORT=5432"
|
||||
%-postgres: SET_IMAGE=localhost/fradrive/postgres
|
||||
%-postgres: IMAGE=--env POSTGRES_HOST_AUTH_METHOD=trust -v ./docker/postgres/pg_hba.conf:/tmp/pg_hba.conf -v ./docker/postgres/postgresql.conf:/tmp/postgresql.conf -v ./docker/postgres/pgconfig.sh:/docker-entrypoint-initdb.d/_pgconfig.sh -v ./docker/postgres/schema.sql:/docker-entrypoint-initdb.d/schema.sql $$(POSTGRES_IMAGE)
|
||||
%-postgres: LOCAL_CONTAINERFILE=false
|
||||
|
||||
.PHONY: %-memcached
|
||||
%-memcached: SERVICE=memcached
|
||||
%-memcached: SERVICE_VARIANT=memcached
|
||||
%-memcached: SET_IMAGE=$$(MEMCACHED_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MEMCACHED_PORT=' | sed 's/MEMCACHED_PORT=//'`
|
||||
%-memcached: IMAGE=$$(MEMCACHED_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MEMCACHED_PORT=' | sed 's/MEMCACHED_PORT=//'`
|
||||
%-memcached: LOCAL_CONTAINERFILE=false
|
||||
%-memcached: BASE_PORTS = "MEMCACHED_PORT=11211"
|
||||
|
||||
.PHONY: %-maildev
|
||||
%-maildev: SERVICE=maildev
|
||||
%-maildev: SERVICE_VARIANT=maildev
|
||||
%-maildev: SET_IMAGE=$$(MAILDEV_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MAILDEV_PORT=' | sed 's/MAILDEV_PORT=//'`
|
||||
%-maildev: IMAGE=$$(MAILDEV_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MAILDEV_PORT=' | sed 's/MAILDEV_PORT=//'`
|
||||
%-maildev: LOCAL_CONTAINERFILE=false
|
||||
%-maildev: BASE_PORTS = "MAILDEV_PORT=1025"
|
||||
|
||||
.PHONY: %-release
|
||||
@ -163,11 +173,13 @@ start:
|
||||
%-release: SERVICE=fradrive
|
||||
%-release: SERVICE_VARIANT=fradrive
|
||||
%-release: IMAGE=localhost/fradrive/fradrive
|
||||
%-release: LOCAL_CONTAINERFILE=true
|
||||
|
||||
.PHONY: %-minio
|
||||
%-minio: SERVICE=minio
|
||||
%-minio: SERVICE_VARIANT=minio
|
||||
%-minio: SET_IMAGE=$$(MINIO_IMAGE) -- server `mktemp` --address=:`cat $$(CONTAINER_FILE) | grep 'UPLOAD_S3_PORT=' | sed 's/UPLOAD_S3_PORT=//'`
|
||||
%-minio: IMAGE=$$(MINIO_IMAGE) -- server `mktemp` --address=:`cat $$(CONTAINER_FILE) | grep 'UPLOAD_S3_PORT=' | sed 's/UPLOAD_S3_PORT=//'`
|
||||
%-minio: LOCAL_CONTAINERFILE=false
|
||||
%-minio: BASE_PORTS = "UPLOAD_S3_PORT=9000"
|
||||
|
||||
.PHONY: start-%
|
||||
@ -229,7 +241,7 @@ ghci: shell-ghci;
|
||||
rebuild-%:
|
||||
$(MAKE) -- --image-build SERVICE=$* NO_CACHE=--no-cache
|
||||
--image-build:
|
||||
ifeq "$(IMAGE)" "localhost/fradrive/$(SERVICE)"
|
||||
ifeq "$(LOCAL_CONTAINERFILE)" "true"
|
||||
rm -f .Dockerfile
|
||||
ln -s docker/$(SERVICE)/Dockerfile .Dockerfile
|
||||
PROJECT_DIR=/fradrive; \
|
||||
@ -250,12 +262,9 @@ endif
|
||||
DEVELOP=`cat develop/.current` ; \
|
||||
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" "$(CONTAINER_INIT)" "$(CONTAINER_CLEANUP)" & \
|
||||
CONTAINER_NAME=fradrive.$(CURR_DEV).$(CONTAINER_IDENT) ; \
|
||||
if ! [ -z "$(SET_IMAGE)" ] ; \
|
||||
if [ "$(LOCAL_CONTAINERFILE)" = "true" ] ; \
|
||||
then \
|
||||
IMAGE="$(SET_IMAGE)" ; \
|
||||
else \
|
||||
IMAGE=$(IMAGE) ; \
|
||||
MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \
|
||||
MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \
|
||||
fi ; \
|
||||
CONTAINER_ID=`$(CONTAINER_BGRUN) \
|
||||
-v $(PWD):$(PROJECT_DIR):rw \
|
||||
@ -265,7 +274,7 @@ endif
|
||||
--env JOB=$(JOB) \
|
||||
--env SRC=$(SRC) \
|
||||
--name $${CONTAINER_NAME} \
|
||||
$${IMAGE} \
|
||||
$(IMAGE) \
|
||||
$${MAKECALL} \
|
||||
` ; \
|
||||
printf "CONTAINER_ID=$${CONTAINER_ID}" >> "$(CONTAINER_FILE)" ; \
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
FROM docker.io/postgres:12
|
||||
|
||||
# Allow for connecting to database without password authentication
|
||||
ENV POSTGRES_HOST_AUTH_METHOD=trust
|
||||
|
||||
COPY --chown=postgres:postgres docker/postgres/pg_hba.conf /tmp/pg_hba.conf
|
||||
COPY --chown=postgres:postgres docker/postgres/postgresql.conf /tmp/postgresql.conf
|
||||
COPY docker/postgres/pgconfig.sh /docker-entrypoint-initdb.d/_pgconfig.sh
|
||||
COPY --chown=postgres:postgres docker/postgres/schema.sql /docker-entrypoint-initdb.d/schema.sql
|
||||
Loading…
Reference in New Issue
Block a user