完善小程序上传与镜像发布配置
Build and push backend image / backend-image (push) Successful in 20s

This commit is contained in:
2026-09-23 00:23:03 +08:00
parent 2458218885
commit a2b76f2a3b
7 changed files with 116 additions and 4 deletions
+51 -3
View File
@@ -1,4 +1,9 @@
IMAGE_NAME ?= rogeecn/weixin-guahao
# Load local secrets/config when present; .env is ignored by Git.
-include .env
REGISTRY ?= git.ipao.vip
IMAGE_REPOSITORY ?= rogee/wxapp-guantong
IMAGE_NAME ?= $(REGISTRY)/$(IMAGE_REPOSITORY)
IMAGE_TAG ?= latest
IMAGE ?= $(IMAGE_NAME):$(IMAGE_TAG)
@@ -16,7 +21,22 @@ ALPINE_MIRROR ?= mirrors.aliyun.com
GOPROXY ?= https://goproxy.cn,direct
GOSUMDB ?= sum.golang.google.cn
.PHONY: docker-build docker-push docker-release deploy compose-up compose-down
MINIPROGRAM_CI ?= miniprogram-ci
MINIPROGRAM_PATH ?= uniapp/unpackage/dist/build/mp-weixin
MINIPROGRAM_NORMALIZER ?= scripts/normalize-miniprogram-paths.py
WECHAT_APPID ?= $(or $(APP_ID),wx0a0e45ada30f01d4)
WECHAT_PRIVATE_KEY ?= $(HOME)/.secrets/wechat/private.$(WECHAT_APPID).key
WECHAT_VERSION ?= auto
WECHAT_VERSION_FALLBACK ?= 1.0.2
# ponytail: local state; override WECHAT_VERSION when another machine uploads.
WECHAT_VERSION_STATE ?= .cache/wechat-version
WECHAT_VERSION_SCRIPT ?= scripts/wechat-next-version.mjs
WECHAT_ROBOT ?= 1
export WECHAT_APPID WECHAT_VERSION_FALLBACK
WECHAT_UPLOAD_DESCRIPTION ?= 骨安通生产版本
.PHONY: docker-build docker-push docker-release miniapp-normalize miniapp-upload deploy compose-up compose-down
docker-build:
docker build \
@@ -34,6 +54,34 @@ docker-push:
docker-release: docker-build docker-push
miniapp-normalize:
python3 "$(MINIPROGRAM_NORMALIZER)" "$(MINIPROGRAM_PATH)"
miniapp-upload: miniapp-normalize
test -f "$(WECHAT_PRIVATE_KEY)"
test -f "$(MINIPROGRAM_PATH)/project.config.json"
@set -eu; \
if [ "$(WECHAT_VERSION)" = "auto" ]; then \
if [ -s "$(WECHAT_VERSION_STATE)" ]; then \
current="$$(cat "$(WECHAT_VERSION_STATE)")"; \
version="$$(node "$(WECHAT_VERSION_SCRIPT)" "$$current")"; \
else \
version="$(WECHAT_VERSION_FALLBACK)"; \
fi; \
else \
version="$(WECHAT_VERSION)"; \
fi; \
printf '上传小程序版本: %s\n' "$$version"; \
$(MINIPROGRAM_CI) upload \
--pp "$(MINIPROGRAM_PATH)" \
--pkp "$(WECHAT_PRIVATE_KEY)" \
--appid "$(WECHAT_APPID)" \
--uv "$$version" \
--ud "$(WECHAT_UPLOAD_DESCRIPTION)" \
-r "$(WECHAT_ROBOT)"; \
mkdir -p "$$(dirname "$(WECHAT_VERSION_STATE)")"; \
printf '%s\n' "$$version" > "$(WECHAT_VERSION_STATE)"
deploy: docker-build
mkdir -p $(DEPLOY_DIR)
docker save $(IMAGE) | gzip > $(DEPLOY_ARCHIVE)
@@ -41,7 +89,7 @@ deploy: docker-build
ssh $(DEPLOY_HOST) 'docker load -i $(DEPLOY_REMOTE_ARCHIVE) && rm -f $(DEPLOY_REMOTE_ARCHIVE)'
compose-up:
docker compose up -d
GUAHAO_IMAGE="$(IMAGE)" docker compose up -d
compose-down:
docker compose down