stock-tracker
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
REGISTRY ?= your-registry
|
||||
BACKEND_IMAGE ?= $(REGISTRY)/stock-tracker-backend
|
||||
FRONTEND_IMAGE ?= $(REGISTRY)/stock-tracker-frontend
|
||||
TAG ?= latest
|
||||
PLATFORMS ?= linux/amd64,linux/arm64
|
||||
|
||||
.PHONY: help build build-backend build-frontend push push-backend \
|
||||
push-frontend multiarch multiarch-backend multiarch-frontend \
|
||||
compose-up compose-down compose-build clean
|
||||
|
||||
help: ## 显示帮助信息
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
|
||||
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
# ── 本地构建(当前架构) ──────────────────────────────────
|
||||
|
||||
build: build-backend build-frontend ## 构建后端和前端镜像(当前架构)
|
||||
|
||||
build-backend: ## 构建后端镜像
|
||||
docker build -t $(BACKEND_IMAGE):$(TAG) ./backend
|
||||
|
||||
build-frontend: ## 构建前端镜像
|
||||
docker build -t $(FRONTEND_IMAGE):$(TAG) ./frontend
|
||||
|
||||
# ── 推送单架构镜像 ──────────────────────────────────────
|
||||
|
||||
push: push-backend push-frontend ## 推送后端和前端镜像
|
||||
|
||||
push-backend: build-backend ## 构建并推送后端镜像
|
||||
docker push $(BACKEND_IMAGE):$(TAG)
|
||||
|
||||
push-frontend: build-frontend ## 构建并推送前端镜像
|
||||
docker push $(FRONTEND_IMAGE):$(TAG)
|
||||
|
||||
# ── 多架构构建(arm64 + amd64) ─────────────────────────
|
||||
|
||||
multiarch: multiarch-backend multiarch-frontend ## 构建并推送多架构镜像(arm64 + amd64)
|
||||
|
||||
multiarch-backend: ## 构建并推送后端多架构镜像
|
||||
docker buildx build \
|
||||
--platform $(PLATFORMS) \
|
||||
-t $(BACKEND_IMAGE):$(TAG) \
|
||||
./backend \
|
||||
--push
|
||||
|
||||
multiarch-frontend: ## 构建并推送前端多架构镜像
|
||||
docker buildx build \
|
||||
--platform $(PLATFORMS) \
|
||||
-t $(FRONTEND_IMAGE):$(TAG) \
|
||||
./frontend \
|
||||
--push
|
||||
|
||||
# ── docker compose 管理 ────────────────────────────────
|
||||
|
||||
compose-up: ## 启动所有服务
|
||||
docker compose up -d
|
||||
|
||||
compose-down: ## 停止所有服务
|
||||
docker compose down
|
||||
|
||||
compose-build: ## 构建所有服务(本地架构)
|
||||
docker compose build
|
||||
|
||||
# ── 清理 ───────────────────────────────────────────────
|
||||
|
||||
clean: ## 清理本地构建的镜像
|
||||
-docker rmi $(BACKEND_IMAGE):$(TAG) 2>/dev/null || true
|
||||
-docker rmi $(FRONTEND_IMAGE):$(TAG) 2>/dev/null || true
|
||||
Reference in New Issue
Block a user