-
Dariusz Janny authoredDariusz Janny authored
Makefile 1.72 KiB
# import config file
config ?= conf/faas-db.cnf
include $(config)
export $(shell sed 's/=.*//' $(config))
credentials ?= conf/credentials/faas-db-default.cnf
include $(credentials)
export $(shell sed 's/=.*//' $(credentials))
export FAAS_DB_IMAGE=${FAAS_DB_REPO}/${FAAS_DB_NAME}:${FAAS_DB_VERSION}
.DEFAULT_GOAL := help
clean: # clean DB docker volume
sudo rm -fr ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}
build: # build container
docker build -t ${FAAS_DB_IMAGE} --build-arg FAAS_DB_NAME=${FAAS_DB_NAME} --build-arg FAAS_DB_IMAGE=${FAAS_DB_IMAGE} --build-arg FAAS_DB_VERSION=${FAAS_DB_VERSION} .
build-nc: # build container without caching
docker build --no-cache -t ${FAAS_DB_IMAGE} --build-arg FAAS_DB_NAME=${FAAS_DB_NAME} --build-arg FAAS_DB_IMAGE=${FAAS_DB_IMAGE} --build-arg FAAS_DB_VERSION=${FAAS_DB_VERSION} .
run: # run container
docker run -i -t --detach --rm --env-file=$(config) --env-file=$(credentials) -p=${FAAS_DB_PORT}:3306 --name="${FAAS_DB_NAME}" -v ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}:/var/lib/mysql ${FAAS_DB_IMAGE}
run-nd: # run container in no-deamon mode
docker run -i -t --env-file=$(config) --env-file=$(credentials) --rm -p=${FAAS_DB_PORT}:3306 --name="${FAAS_DB_NAME}" -v ${FAAS_DB_VOLUME_VAR_LIB_MYSQL}:/var/lib/mysql ${FAAS_DB_IMAGE}
up: build run # build and run container
logs: # print docker logs
docker logs ${FAAS_DB_NAME}
stop: # stop container
docker stop ${FAAS_DB_NAME}
version: # print current component version
@echo ${FAAS_DB_VERSION}
test: testFaasDB # run all tests
testFaasDB: # run checking docker image tests
@echo "# run test version"
bats test/faas-db-tests.bats
help: # this help
@awk 'BEGIN {FS = ":.*?# "} /^[a-zA-Z_-]+:.*?# / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)