31 lines
1.0 KiB
Makefile
31 lines
1.0 KiB
Makefile
REGISTRY = arvintian
|
|
PROJECT = chatgpt-web
|
|
BASE_VERSION = v1
|
|
GIT_VERSION = $(shell git rev-parse --short HEAD)
|
|
|
|
.PHONY: build-local
|
|
build-local:
|
|
go build -v --ldflags="-w -X main.Version=$(GIT_VERSION)" -o dist/server cmd/*.go
|
|
|
|
.PHONY: build
|
|
build:
|
|
mkdir -p dist && docker run --rm -ti -e GOPROXY=https://goproxy.cn,direct -v $(GOPATH):/go -v `pwd`:/app -w /app golang:1.19-alpine \
|
|
go build -v --ldflags="-w -X main.Version=$(GIT_VERSION)" -o dist/server cmd/*.go
|
|
|
|
package: build
|
|
docker build -t $(REGISTRY)/$(PROJECT):$(GIT_VERSION) .
|
|
|
|
release: package
|
|
docker tag $(REGISTRY)/$(PROJECT):$(GIT_VERSION) $(REGISTRY)/$(PROJECT):latest
|
|
docker push $(REGISTRY)/$(PROJECT):$(GIT_VERSION)
|
|
docker push $(REGISTRY)/$(PROJECT):latest
|
|
|
|
base:
|
|
docker build -t $(REGISTRY)/$(PROJECT)-base:$(BASE_VERSION) -f Dockerfile.base .
|
|
|
|
release-base:
|
|
docker push $(REGISTRY)/$(PROJECT)-base:$(BASE_VERSION)
|
|
|
|
clean:
|
|
rm -rf dist
|
|
docker images | grep -E "$(REGISTRY)/$(PROJECT)" | grep -v "base" | awk '{print $$3}' | uniq | xargs -I {} docker rmi --force {}
|