55 lines
1.5 KiB
Makefile
55 lines
1.5 KiB
Makefile
|
#!make
|
||
|
include .vars
|
||
|
|
||
|
default: version
|
||
|
|
||
|
clean:
|
||
|
if [ "$$(docker images "$${CONTAINER_ORG}/$${CONTAINER_IMAGE}" --format "{{.Repository}}:{{.Tag}}")" != "" ]; then \
|
||
|
docker image rm $$(docker images "$${CONTAINER_ORG}/$${CONTAINER_IMAGE}" --all --format "{{.Repository}}:{{.Tag}}"); \
|
||
|
fi
|
||
|
|
||
|
docker: clean
|
||
|
docker build \
|
||
|
--build-arg GO_BUILDER=$${GO_BUILDER} \
|
||
|
--build-arg GO_VERSION=$${GO_VERSION} \
|
||
|
--build-arg GO_OS=$${GO_OS} \
|
||
|
--build-arg GO_ARCH=$${GO_ARCH} \
|
||
|
--build-arg GIT_HOST=$${GIT_HOST} \
|
||
|
--build-arg REPO_ORG=$${REPO_ORG} \
|
||
|
--build-arg REPO_NAME=$${REPO_NAME} \
|
||
|
--build-arg APP_VERSION=$${APP_VERSION} \
|
||
|
-t $${CONTAINER_ORG}/$${CONTAINER_IMAGE}:$${APP_VERSION} .; \
|
||
|
if [ "$$(docker images --filter "dangling=true" --quiet --no-trunc)" != "" ]; then \
|
||
|
docker image rm $$(docker images --filter "dangling=true" --quiet --no-trunc); \
|
||
|
fi
|
||
|
|
||
|
dockerpush:
|
||
|
docker push \
|
||
|
$${CONTAINER_ORG}/$${CONTAINER_IMAGE}:$${APP_VERSION}
|
||
|
|
||
|
deploy:
|
||
|
bash -c "./deploy.sh"
|
||
|
|
||
|
version:
|
||
|
bash -c "./version.sh"
|
||
|
|
||
|
run:
|
||
|
docker run \
|
||
|
--rm \
|
||
|
--tty \
|
||
|
--interactive \
|
||
|
--publish $${CONTAINER_IP}:$${CONTAINER_PORT}:80 \
|
||
|
--workdir /go/src/$${GIT_HOST}/$${REPO_ORG}/$${REPO_NAME} \
|
||
|
--volume $(shell pwd):/go/src/$${GIT_HOST}/$${REPO_ORG}/$${REPO_NAME} \
|
||
|
$${GO_BUILDER}:$${GO_VERSION} \
|
||
|
go run .
|
||
|
|
||
|
dockerrun:
|
||
|
docker run \
|
||
|
--rm \
|
||
|
--tty \
|
||
|
--interactive \
|
||
|
--publish $${CONTAINER_IP}:$${CONTAINER_PORT}:80 \
|
||
|
--volume $(shell pwd)/config.yml:/config.yml \
|
||
|
$${CONTAINER_ORG}/$${CONTAINER_IMAGE}:latest
|