agecem-org/Makefile

46 lines
1.6 KiB
Makefile

.DEFAULT_GOAL := help
current_semver := $(shell git describe | tr -d 'v' | tr '.' ' ' | tr '-' ' ')
.PHONY: help
help: ## Show this help
@egrep -h '\s##\s' $(MAKEFILE_LIST) | \
sort | \
awk \
'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
.PHONY: build
build: ## Build agecem-org executable
CGO_ENABLED=0 go build -a -o agecem-org \
-ldflags="-X 'git.agecem.com/agecem/agecem-org/pkg/agecemorg/version.version=`git describe`'" ./cmd/agecemorg/
.PHONY: install
install: ## Using `go install`, install the agecem-org executable at ~/go/bin/haul
CGO_ENABLED=0 go install -a \
-ldflags="-X 'git.agecem.com/agecem/agecem-org/pkg/agecemorg/version.version=`git describe`'" ./cmd/agecemorg/
.PHONY: run
run: ## Run agecem-org from source with `go run`
CGO_ENABLED=0 go run \
-ldflags="-X 'git.agecem.com/agecem/agecem-org/pkg/agecemorg/version.version=`git describe`'" ./cmd/agecemorg/
.PHONY: build-container
build-container: ## Build agecem-org container image
docker-compose build \
--build-arg agecem_org_version=`git describe`
.PHONY: deploy-container
deploy-container: ## Using `docker-compose up`, deploy the database and agecem-org containers
docker-compose up -d
.PHONY: deploy
deploy: build-container deploy-container ## Build and deploy agecem-org container image
.PHONY: docker-tag-from-git
docker-tag-from-git: ## Tag latest image according to annotated tag from `git describe`
./scripts/docker-tag.sh $(current_semver)
.PHONY: docker-push-from-git
docker-push-from-git: ## Push images to git.agecem.com according to annotated tag from `git describe`
./scripts/docker-push.sh $(current_semver)