Files
renjue c4b01ebe2b
CI / docker (push) Successful in 2m52s
实现 Atlas AI 平台一期能力并完成品牌化改造。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 23:54:49 +08:00

63 lines
1.7 KiB
Makefile

.PHONY: dev dev-web build build-go build-web run test tidy clean docker-build docker-push-prebuilt
export GOPROXY ?= https://goproxy.cn,direct
export GOSUMDB ?= sum.golang.google.cn
export IMAGE_PREFIX ?= docker.1panel.live/library/
export APK_MIRROR ?= mirrors.aliyun.com
export DOCKER_PLATFORM ?= linux/amd64
export APP_IMAGE ?= atlas:latest
dev:
@echo "Run backend and frontend in separate terminals:"
@echo " make run"
@echo " make dev-web"
dev-web:
cd web && npm install && npm run dev
build-web:
cd web && npm install && npm run build
rm -rf internal/api/static/*
cp -r web/dist/* internal/api/static/
build: build-web
go build -o dist/app ./cmd/app
build-go:
go build -o dist/app ./cmd/app
run:
go run ./cmd/app
tidy:
go mod tidy
test:
go test ./...
clean:
rm -rf dist web/dist internal/api/static .docker-bin
@echo '<!DOCTYPE html><html><head><title>Atlas</title></head><body>Atlas</body></html>' > internal/api/static/index.html
docker-build:
docker buildx build --platform $(DOCKER_PLATFORM) \
-t $(APP_IMAGE) \
--build-arg IMAGE_PREFIX=$(IMAGE_PREFIX) \
--build-arg APK_MIRROR=$(APK_MIRROR) \
--build-arg GOPROXY=$(GOPROXY) \
--build-arg GOSUMDB=$(GOSUMDB) \
--load \
.
# 本地交叉编译 + 仅打 runtime 镜像,避免 Docker 内 go build(最快,与 Luminary 一致)
docker-push-prebuilt: build-web
mkdir -p .docker-bin
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o .docker-bin/app ./cmd/app
docker buildx build --platform $(DOCKER_PLATFORM) \
-f docker/Dockerfile.prebuilt \
-t $(APP_IMAGE) \
--build-arg IMAGE_PREFIX=$(IMAGE_PREFIX) \
--build-arg APK_MIRROR=$(APK_MIRROR) \
--load \
.