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 --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