55 lines
1.9 KiB
Makefile
55 lines
1.9 KiB
Makefile
DOCKER_USERNAME ?= tom
|
|
PACKAGE_OWNER ?= tom
|
|
DOCKER_PASSWORD ?= $(shell echo "YOUR_DEFAULT_PASSWORD")
|
|
IMAGE_REGISTRY ?= git.letsstein.de
|
|
APPLICATION_NAME ?= arbeitszeit
|
|
_BUILD_ARGS_APP_PART ?= .
|
|
_BUILD_ARGS_TAG ?= latest
|
|
TAG ?= latest
|
|
GIT_COMMIT ?= $(shell git rev-parse --short HEAD)
|
|
|
|
capitalize = $(shell echo $(1) | sed 's/.*/\u&/')
|
|
|
|
login_registry:
|
|
ifdef JENKINS_HOME
|
|
echo "Logging in to Docker registry.... "
|
|
echo ${DOCKER_PASSWORD} | docker login -u $(DOCKER_USERNAME) --password-stdin $(IMAGE_REGISTRY)
|
|
endif
|
|
|
|
_builder:
|
|
docker build --tag ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT} -f $(call capitalize, ${_BUILD_ARGS_APP_PART})/Dockerfile $(call capitalize, ${_BUILD_ARGS_APP_PART})
|
|
|
|
_pusher: login_registry
|
|
docker push ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT}
|
|
docker tag ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT} ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${_BUILD_ARGS_TAG}
|
|
docker push ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${_BUILD_ARGS_TAG}
|
|
|
|
|
|
build_%:
|
|
$(MAKE) _builder \
|
|
-e _BUILD_ARGS_APP_PART="$*" \
|
|
|
|
push_%:
|
|
$(MAKE) _pusher \
|
|
-e _BUILD_ARGS_APP_PART="$*" \
|
|
-e _BUILD_ARGS_TAG="${TAG}"
|
|
|
|
full_%:
|
|
make build_$*
|
|
make push_$*
|
|
|
|
generateFrontend:
|
|
cd Backend && templ generate
|
|
cd Backend && npx @tailwindcss/cli -i ./src/main.css -o ./static/css/styles.css
|
|
|
|
|
|
backend: generateFrontend login_registry
|
|
docker buildx build --platform linux/amd64,linux/arm64 -t ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/arbeitszeitmessung:latest Backend --load #--push
|
|
# docker buildx build --platform linux/amd64,linux/arm64 -t ${IMAGE_REGISTRY}/${PACKAGE_OWNER}/arbeitszeitmessung:${GIT_COMMIT} Backend //--push
|
|
|
|
test:
|
|
$(MAKE) -C Backend test
|
|
|
|
scan: test
|
|
$(MAKE) -C Backend scan
|