Improve development
This commit is contained in:
46
Makefile
46
Makefile
@@ -1,11 +1,28 @@
|
|||||||
EXEC=bumpversion.run
|
NAMESPACE ?= golang
|
||||||
|
PACKAGE := bumpversion
|
||||||
|
SHELL := /bin/bash
|
||||||
|
REGISTRY := registry.halfakop.ru
|
||||||
|
REPOSITORY := $(NAMESPACE)/$(PACKAGE)
|
||||||
|
|
||||||
all: build
|
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:
|
fix:
|
||||||
@go fix ./...
|
@go fix ./...
|
||||||
|
|
||||||
build: fix
|
app: fix
|
||||||
@go build -o ./${EXEC} ./src
|
@go build -o ./${EXEC} ./src
|
||||||
|
|
||||||
tests: build
|
tests: build
|
||||||
@@ -17,5 +34,24 @@ run:
|
|||||||
clean:
|
clean:
|
||||||
@rm -rf ./${EXEC}%
|
@rm -rf ./${EXEC}%
|
||||||
|
|
||||||
image:
|
release: title clean build login push
|
||||||
docker build --compress -t rad/bumpversion:latest -f Dockerfile .
|
|
||||||
|
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