Files
iotlcm/Makefile
T
MiFaZhan 42d12d905a
mirror-to-gitee / mirror (push) Successful in 5s
chore: 小程序线(app)固定 v1.0.2,不跟随平台 tag
版本号与功能一一对应:小程序线功能停在 v1.0.2,镜像 tag 也停在 v1.0.2,
平台后续发 v1.0.5 时它不动。

- deploy/docker-compose.yml:app-server / app-web 两行回退 v1.0.2
- Makefile:IMAGE_MAP 增加第 5 列「固定版本」,app 两行填 v1.0.2,
  本地构建与 CI 行为一致
- 根 README:新增「小程序线是独立版本线」说明
- app/README.md:标注本目录对应 v1.0.2,不跟随平台 tag
- 文档:deploy/README 版本表、build-image 的 tag 表与说明、
  offline / prerequisites / configuration 示例 tag 全部回退 v1.0.2

CI 侧由 Jenkins 流水线的 PIN 表(app|v1.0.2)保证:tag 构建自动跳过 app,
需要重建时单独触发 SERVICES=app VERSION=v1.0.2。
2026-11-02 14:11:13 +08:00

73 lines
2.7 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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|固定版本(留空=跟随 VERSION)
# 小程序线 app 固定 v1.0.2:版本号与功能一一对应,平台发新 tag 时不跟着动。
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|v1.0.2 \
app|iotlcm-app-web|app/app|Dockerfile|v1.0.2 \
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:
@grep -E '^# make' Makefile | sed 's/^# //'
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 pin; do \
[ -z "$$dir" ] && continue; \
v="$${pin:-$(VERSION)}"; \
echo ""; echo "==> $$img:$$v (context=$$ctx dockerfile=$$df$${pin:+ [固定版本]})"; \
docker build -f "$$ctx/$$df" \
--build-arg BASE_REGISTRY="$(BASE_REGISTRY)" \
--build-arg BuildVersion="$$v" \
--build-arg CommitID="$$(git rev-parse --short=7 HEAD)" \
--build-arg BuildTime="$$(date -u +%FT%TZ)" \
-t "$(REGISTRY):$$img-$$v" "$$ctx"; \
done
docs:
cd docs && npm ci && npm run build
@echo "✅ 文档站产物:docs/.vitepress/dist"
clean:
@rm -rf docs/.vitepress/dist docs/.vitepress/cache
@echo "✅ 已清理"