46 lines
1.3 KiB
Makefile
46 lines
1.3 KiB
Makefile
.PHONY: image tag version
|
|
|
|
# 默认架构
|
|
GOOS ?= linux
|
|
GOARCH ?= $(shell go env GOARCH)
|
|
|
|
# 常用架构组合
|
|
PLATFORMS ?= linux/amd64,linux/arm64
|
|
|
|
# Docker 构建
|
|
docker-local:
|
|
$(MAKE) check-image-name
|
|
GOOS=$(GOOS) GOARCH=$(GOARCH) .build_scripts/build_go.sh
|
|
GOOS=$(GOOS) GOARCH=$(GOARCH) .build_scripts/build_image.sh $(IMAGE_NAME) Dockerfile.local
|
|
|
|
docker-local-amd64:
|
|
$(MAKE) check-image-name
|
|
GOOS=linux GOARCH=amd64 .build_scripts/build_go.sh
|
|
GOOS=linux GOARCH=amd64 .build_scripts/build_image.sh $(IMAGE_NAME) Dockerfile.local
|
|
|
|
docker-local-arm64:
|
|
$(MAKE) check-image-name
|
|
GOOS=linux GOARCH=arm64 .build_scripts/build_go.sh
|
|
GOOS=linux GOARCH=arm64 .build_scripts/build_image.sh $(IMAGE_NAME) Dockerfile.local
|
|
|
|
docker-local-multiarch:
|
|
$(MAKE) check-image-name
|
|
make build-all-multiarch
|
|
PLATFORM=$(PLATFORMS) .build_scripts/build_image.sh $(IMAGE_NAME) Dockerfile.local
|
|
|
|
check-image-name:
|
|
@if [ -z "$(IMAGE_NAME)" ]; then \
|
|
echo "IMAGE_NAME is not set"; \
|
|
exit 1; \
|
|
fi; \
|
|
|
|
|
|
tag:
|
|
@VERSION=$$(cat VERSION); \
|
|
echo "Creating tag: $$VERSION"; \
|
|
git tag $$VERSION; \
|
|
git push origin $$VERSION; \
|
|
echo "Tag $$VERSION created and pushed successfully"
|
|
|
|
version: .build_scripts/version.sh
|
|
@.build_scripts/version.sh "$(filter-out version,$(MAKECMDGOALS))" "$(VERSION)"
|