Initial commit
This commit is contained in:
57
Makefile
Normal file
57
Makefile
Normal file
@@ -0,0 +1,57 @@
|
||||
NAMESPACE ?= <PROJECT_CHANGE_ME>
|
||||
PACKAGE := backend
|
||||
SHELL := /bin/bash
|
||||
REGISTRY := registry.halfakop.ru
|
||||
REPOSITORY := $(NAMESPACE)/$(PACKAGE)
|
||||
|
||||
SOURCE_VERSION ?= $(shell cat VERSION)
|
||||
SOURCE_COMMIT ?= $(shell git rev-parse --short=8 HEAD)
|
||||
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed s,feature/,,g)
|
||||
|
||||
IMAGE_NAME_TAGGED = $(REPOSITORY):$(SOURCE_VERSION)
|
||||
EXEC=$(PACKAGE).run
|
||||
|
||||
all: help
|
||||
|
||||
help:
|
||||
@echo "app - build the application"
|
||||
@echo "tests - run tests"
|
||||
@echo "run - run application locally"
|
||||
@echo "clean - clean build environment"
|
||||
|
||||
fix:
|
||||
@go fix ./...
|
||||
|
||||
app: fix
|
||||
@go build -o ./${EXEC} ./src
|
||||
|
||||
tests: build
|
||||
@go test ./...
|
||||
|
||||
run:
|
||||
@./${EXEC}
|
||||
|
||||
clean:
|
||||
@rm -rf ./${EXEC}%
|
||||
|
||||
release: title clean build login push
|
||||
|
||||
build:
|
||||
docker build --compress \
|
||||
-t $(IMAGE_NAME_TAGGED) \
|
||||
-t $(REGISTRY)/$(IMAGE_NAME_TAGGED) \
|
||||
--build-arg SOURCE_VERSION=$(SOURCE_VERSION) \
|
||||
--build-arg SOURCE_COMMIT=$(SOURCE_COMMIT) \
|
||||
${DOCKER_OPTS} \
|
||||
-f Dockerfile .
|
||||
|
||||
login:
|
||||
$(call check-var-defined,DOCKER_USERNAME)
|
||||
$(call check-var-defined,DOCKER_PASSWORD)
|
||||
@echo ${DOCKER_PASSWORD} | \
|
||||
docker login -u ${DOCKER_USERNAME} --password-stdin $(REGISTRY)
|
||||
|
||||
push:
|
||||
docker push $(REGISTRY)/$(IMAGE_NAME_TAGGED)
|
||||
|
||||
.PHONY: tests release build login push
|
||||
Reference in New Issue
Block a user