build(Makefile): refactor container run calls
This commit is contained in:
parent
3db65597fe
commit
848985cbb5
32
Makefile
32
Makefile
@ -2,17 +2,21 @@ SHELL=bash
|
||||
# MAKE=make -d
|
||||
|
||||
export CONTAINER_COMMAND ?= podman
|
||||
export CONTAINER_PORTS ?= --network=host
|
||||
export CONTAINER_RUN ?= $(CONTAINER_COMMAND) run -it --network=host
|
||||
|
||||
export IN_CONTAINER ?= false
|
||||
export IN_CI ?= false
|
||||
|
||||
export WATCH
|
||||
export db ?= -cf
|
||||
|
||||
export DEV_PORT_HTTP
|
||||
export DEV_PORT_HTTPS
|
||||
|
||||
export MEMCACHED_IMAGE = docker.io/memcached:latest
|
||||
export MINIO_IMAGE = docker.io/minio/minio:latest
|
||||
export MAILDEV_IMAGE = docker.io/maildev/maildev:latest
|
||||
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
|
||||
|
||||
# HELP HEADER START
|
||||
# To see the definition of all available targets, take a look into the Makefile.
|
||||
@ -33,7 +37,7 @@ export MAILDEV_IMAGE = docker.io/maildev/maildev:latest
|
||||
# HELP: print out this help message
|
||||
help:
|
||||
@if [ -z "$$(which perl 2>/dev/null)" ] ; then \
|
||||
$(CONTAINER_COMMAND) run -v .:/mnt 'debian:12.5' '/mnt/utils/makehelp.pl' '/mnt/Makefile' ; \
|
||||
$(CONTAINER_RUN) .:/mnt 'debian:12.5' '/mnt/utils/makehelp.pl' '/mnt/Makefile' ; \
|
||||
else \
|
||||
utils/makehelp.pl Makefile ; \
|
||||
fi
|
||||
@ -66,7 +70,7 @@ release:
|
||||
MOUNT_DIR=/mnt/fradrive ; \
|
||||
FRADRIVE_SERVICE=$* ; \
|
||||
$(MAKE) -- --image-build FRADRIVE_SERVICE=$${FRADRIVE_SERVICE} ; \
|
||||
$(CONTAINER_COMMAND) run -it -v $(PWD):$${MOUNT_DIR} $(CONTAINER_PORTS) --env IN_CONTAINER=true --entrypoint /bin/bash --name fradrive.$${FRADRIVE_SERVICE}.interactive.$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$${FRADRIVE_SERVICE}
|
||||
$(CONTAINER_RUN) -v $(PWD):$${MOUNT_DIR} --env IN_CONTAINER=true --entrypoint /bin/bash --name fradrive.$${FRADRIVE_SERVICE}.interactive.$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$${FRADRIVE_SERVICE}
|
||||
|
||||
##### GENERAL TARGETS #####
|
||||
###########################
|
||||
@ -214,10 +218,6 @@ PHONY: --db-%-backend
|
||||
--.stack: stack.yaml stack.yaml.lock
|
||||
stack build --fast --only-dependencies $(stackopts)
|
||||
|
||||
# TODO: deprecated, remove
|
||||
# .stack-work.lock:
|
||||
# [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en .stack-work.lock "$0" "$@" || :
|
||||
|
||||
##### BACKEND TARGETS #####
|
||||
###########################
|
||||
|
||||
@ -231,19 +231,18 @@ serve-database: --containerized-database;
|
||||
|
||||
--containerized-database: FRADRIVE_SERVICE=database
|
||||
# port forwarding is disabled in --network=host mode; nevertheless it is stated here for documentation reasons
|
||||
# --containerized-database: CONTAINER_PORTS=--network=host -p 5432:5432/tcp
|
||||
--containerized-database: docker/database/initdb.sh docker/database/pg_hba.conf docker/database/postgresql.conf docker/database/schema.sql --image-build
|
||||
if [ "$(IN_CONTAINER)" == "false" ] ; then \
|
||||
$(CONTAINER_COMMAND) run -it $(CONTAINER_PORTS) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
$(CONTAINER_RUN) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
fi
|
||||
|
||||
.PHONY: serve-memcached
|
||||
serve-memcached:
|
||||
$(CONTAINER_COMMAND) run -it --network=host $(MEMCACHED_IMAGE)
|
||||
$(CONTAINER_RUN) $(MEMCACHED_IMAGE)
|
||||
|
||||
.PHONY: serve-minio
|
||||
serve-minio:
|
||||
$(CONTAINER_COMMAND) run -it --network=host $(MINIO_IMAGE) -- server $$(mktemp)
|
||||
$(CONTAINER_RUN) $(MINIO_IMAGE) -- server $$(mktemp)
|
||||
|
||||
##### DATABASE TARGETS #####
|
||||
############################
|
||||
@ -254,13 +253,10 @@ serve-minio:
|
||||
|
||||
.PHONY: --containerized-%-frontend
|
||||
--containerized-%-frontend: FRADRIVE_SERVICE=frontend
|
||||
#--containerized-%-frontend: --image-build --image-run-%-frontend;
|
||||
--containerized-%-frontend: --image-build
|
||||
$(MAKE) -- --image-run-$*-frontend
|
||||
|
||||
--containerized-%-backend: FRADRIVE_SERVICE=backend
|
||||
#--containerized-%-backend: --image-build --image-run-%-backend;
|
||||
# --containerized-%-backend: CONTAINER_PORTS=--network=host -p $(DEV_PORT_HTTP):3000 -p $(DEV_PORT_HTTPS):3443
|
||||
--containerized-%-backend: --image-build
|
||||
$(MAKE) -- --image-run-$*-backend
|
||||
|
||||
@ -285,7 +281,7 @@ image-rebuild-%:
|
||||
if [ "$(IN_CONTAINER)" == "true" ] ; then \
|
||||
$(MAKE) -- $* ; \
|
||||
else \
|
||||
$(CONTAINER_COMMAND) run -it -v $(PWD):$${MOUNT_DIR} $(CONTAINER_PORTS) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env WATCH=$(WATCH) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') localhost/fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
$(CONTAINER_RUN) -v $(PWD):$${MOUNT_DIR} --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env WATCH=$(WATCH) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') localhost/fradrive/$(FRADRIVE_SERVICE) ; \
|
||||
fi
|
||||
|
||||
##### CONTAINER TARGETS #####
|
||||
|
||||
Reference in New Issue
Block a user