把原来 12 个独立仓合并为单仓多服务结构,各仓完整提交历史通过
read-tree 并入保留(137 个提交,blame 可追溯)。
目录:
admin-svr/ admin-ui/ app/{server,app}/ openapi/ worker-svr/
upstream-chan/ upstream-proxy/ sms/ bot/ docs/ onelink-mock/ deploy/
同时:
- 新增根 README(目录说明、快速开始、源码构建、镜像发布、许可)
- 新增根 Makefile(make build / test / images / docs)
- 新增根 .gitattributes / .gitignore,删掉 12 份重复的 Apache LICENSE
(admin-ui/ 与 app/app/ 的 MIT 上游许可保留)
- 各服务的 .gitea/workflows 收敛到仓根:trigger-jenkins.yml(tag 构建全部
服务)+ mirror-to-gitee.yml(自动建 Gitee 仓后镜像)
- 文档内跨仓绝对链接改为仓内相对路径;部署/构建文档改为单仓路径
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# iotLCM 开源版 —— 常用构建入口
|
||||
#
|
||||
# make build 编译全部 Go 服务
|
||||
# make test 跑全部 Go 模块的单元测试
|
||||
# make images 本地构建全部镜像(默认 tag 用 git describe)
|
||||
# make docs 本地构建文档站
|
||||
# make clean 清理构建产物
|
||||
#
|
||||
# 镜像仓库与版本可覆盖:
|
||||
# make images REGISTRY=registry.example.com/iotlcm/iotlcm VERSION=v1.0.4
|
||||
|
||||
REGISTRY ?= iotlcm
|
||||
VERSION ?= $(shell git describe --tags --abbrev=0 2>/dev/null || git rev-parse --short HEAD)
|
||||
BASE_REGISTRY ?= docker.io/library
|
||||
|
||||
GO_MODULES := admin-svr/server app/server bot onelink-mock openapi sms upstream-chan upstream-proxy worker-svr
|
||||
|
||||
# 目录|镜像名|构建上下文|Dockerfile
|
||||
IMAGE_MAP := \
|
||||
admin-svr|iotlcm-admin-svr|admin-svr/server|build/Dockerfile \
|
||||
admin-ui|iotlcm-admin-ui|admin-ui|vue/build/Dockerfile \
|
||||
openapi|iotlcm-openapi|openapi|build/Dockerfile \
|
||||
worker-svr|iotlcm-worker-svr|worker-svr|build/Dockerfile \
|
||||
upstream-chan|iotlcm-upstream-chan|upstream-chan|build/Dockerfile \
|
||||
upstream-proxy|iotlcm-upstream-proxy|upstream-proxy|build/Dockerfile \
|
||||
app|iotlcm-app-server|app/server|Dockerfile \
|
||||
app|iotlcm-app-web|app/app|Dockerfile \
|
||||
sms|iotlcm-sms|sms|build/Dockerfile \
|
||||
bot|iotlcm-bot|bot|Dockerfile \
|
||||
docs|iotlcm-docs|docs|Dockerfile \
|
||||
onelink-mock|iotlcm-onelink-mock|onelink-mock|Dockerfile
|
||||
|
||||
.PHONY: help build test images docs clean
|
||||
|
||||
help:
|
||||
@sed -n '2,12p' Makefile | sed 's/^# \{0,1\}//'
|
||||
|
||||
build:
|
||||
@set -e; for m in $(GO_MODULES); do \
|
||||
echo "==> go build ./... ($$m)"; \
|
||||
( cd "$$m" && go build ./... ); \
|
||||
done
|
||||
@echo "✅ 全部 Go 服务编译通过"
|
||||
|
||||
test:
|
||||
@set -e; for m in $(GO_MODULES); do \
|
||||
echo "==> go test ./... ($$m)"; \
|
||||
( cd "$$m" && go test ./... ); \
|
||||
done
|
||||
|
||||
images:
|
||||
@set -e; echo "镜像前缀: $(REGISTRY) 版本: $(VERSION)"; \
|
||||
echo "$(IMAGE_MAP)" | tr ' ' '\n' | while IFS='|' read -r dir img ctx df; do \
|
||||
[ -z "$$dir" ] && continue; \
|
||||
echo ""; echo "==> $$img:$$VERSION (context=$$ctx dockerfile=$$df)"; \
|
||||
docker build -f "$$ctx/$$df" \
|
||||
--build-arg BASE_REGISTRY="$(BASE_REGISTRY)" \
|
||||
--build-arg BuildVersion="$(VERSION)" \
|
||||
--build-arg CommitID="$$(git rev-parse --short=7 HEAD)" \
|
||||
--build-arg BuildTime="$$(date -u +%FT%TZ)" \
|
||||
-t "$(REGISTRY):$$img-$(VERSION)" "$$ctx"; \
|
||||
done
|
||||
|
||||
docs:
|
||||
cd docs && npm ci && npm run build
|
||||
@echo "✅ 文档站产物:docs/.vitepress/dist"
|
||||
|
||||
clean:
|
||||
@rm -rf docs/.vitepress/dist docs/.vitepress/cache
|
||||
@echo "✅ 已清理"
|
||||
Reference in New Issue
Block a user