单二进制三角色 + Dock 适配器 + Swarm stack 达到可部署态;mgr1 实测订阅经 central-proxy bootstrap,探活 alive=41/52。 Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
No EOL
1.8 KiB
Makefile
41 lines
No EOL
1.8 KiB
Makefile
# Makefile — onesvm-browser-server 仓根(Contract §5-A5)。
|
||
# 目标覆盖:fmt / vet / test / build-amd64 / image / image-trafilatura / smoke / wc。
|
||
# 密钥不入本文件(部署 env 走 gitignore 的 deploy.env,见 scripts/deploy-mgr1.sh)。
|
||
|
||
.DEFAULT_GOAL := help
|
||
|
||
# 生产 amd64(组织部署规范:Mac arm64 构建必须显式 --platform linux/amd64)。
|
||
PLATFORM ?= linux/amd64
|
||
|
||
# 冒烟镜像 tag(本机 arm64;不与生产 :dev 混用)。
|
||
SMOKE_IMAGE ?= onesvm/browser-server:smoke
|
||
|
||
.PHONY: help fmt vet test build-amd64 image image-trafilatura smoke wc
|
||
|
||
help: ## 显示本帮助
|
||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}'
|
||
|
||
fmt: ## gofmt 格式检查(server/;输出为空即通过)
|
||
cd server && gofmt -l .
|
||
|
||
vet: ## go vet 静态检查
|
||
cd server && go vet ./...
|
||
|
||
test: ## 单测全量
|
||
cd server && go test ./...
|
||
|
||
build-amd64: ## amd64 交叉构建产出 bin/(部署轮 save|load 用本机镜像,此 target 供快速验证)
|
||
mkdir -p bin
|
||
cd server && GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o ../bin/browser-server-linux-amd64 ./cmd/browser-server
|
||
|
||
image: ## 构建生产镜像 onesvm/browser-server:dev(默认 amd64;本机冒烟可 PLATFORM=linux/arm64)
|
||
docker build --platform $(PLATFORM) -t onesvm/browser-server:dev -f server/Dockerfile .
|
||
|
||
image-trafilatura: ## 构建 trafilatura 引擎镜像 onesvm/trafilatura-http:dev(amd64)
|
||
docker build --platform $(PLATFORM) -t onesvm/trafilatura-http:dev stacks/trafilatura
|
||
|
||
smoke: ## 本机 compose 冒烟(起 stub 引擎 + 三角色,12 步断言;证据落 .dsh/artifacts)
|
||
bash scripts/smoke-local.sh
|
||
|
||
wc: ## 源文件行数检查(server *.go 按行数倒序,>600 即违规)
|
||
find server -name '*.go' | xargs wc -l | sort -rn | head -20
|