mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-06-16 19:53:53 +08:00
0abb5f8bdf
本地/未发布构建(dev / dev-<sha>)无法与发布版做语义化比较,之前会错误显示 「· 已是最新」。现在: - 「关于」卡:当前版本非 vX.Y.Z 时标「开发版」,仅把最新发布版作为信息展示 (当前版本 dev-xxx · 最新发布 v1.2.0),不显示「已是最新」、不触发红点。 - build-local.sh 默认烤入 dev-<短SHA>(而非裸 dev),便于辨识本地构建。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 lines
1.8 KiB
Bash
Executable File
34 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 本地构建面板镜像 + 微信实例镜像,打成与 docker-compose.yml 一致的 GHCR 标签。
|
||
# 用途:GHCR 尚未发布(没打 tag)时自测,或自托管者想自己构建而非拉取官方镜像。
|
||
# 构建完成后直接 `docker compose up -d` 即可(compose 默认 pull_policy=missing,会优先用本地镜像)。
|
||
#
|
||
# 用法:
|
||
# ./scripts/build-local.sh # 构建本机架构,标签 latest
|
||
# WOC_VERSION=v1.0.0 ./scripts/build-local.sh # 指定标签(需与 .env 的 WOC_VERSION 一致)
|
||
set -euo pipefail
|
||
|
||
OWNER="${WOC_IMAGE_OWNER:-gloridust}"
|
||
TAG="${WOC_VERSION:-latest}"
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
# 烤进面板镜像的版本号:设了 WOC_VERSION 就用它(如 v1.2.0),否则用 dev-<短SHA>(本地构建标识)。
|
||
# 开发版不是正式发布版,面板「关于」会标「开发版」、不会触发「有新版」红点。
|
||
VER="${WOC_VERSION:-dev-$(git -C "$ROOT" rev-parse --short HEAD 2>/dev/null || echo local)}"
|
||
|
||
PANEL_IMAGE="ghcr.io/${OWNER}/woc-panel:${TAG}"
|
||
WECHAT_IMAGE="ghcr.io/${OWNER}/wechat-on-cloud:${TAG}"
|
||
|
||
echo "==> 构建面板镜像 ${PANEL_IMAGE} (版本号 ${VER})"
|
||
docker build --build-arg "WOC_VERSION=${VER}" -t "${PANEL_IMAGE}" "${ROOT}/panel"
|
||
|
||
echo "==> 构建微信实例镜像 ${WECHAT_IMAGE}"
|
||
docker build -t "${WECHAT_IMAGE}" "${ROOT}/docker"
|
||
|
||
echo
|
||
echo "完成。本地镜像:"
|
||
# 注意:docker images 只接受一个仓库参数,故用 --filter 各列一次
|
||
docker images --filter "reference=${PANEL_IMAGE}" --format ' {{.Repository}}:{{.Tag}} {{.Size}}'
|
||
docker images --filter "reference=${WECHAT_IMAGE}" --format ' {{.Repository}}:{{.Tag}} {{.Size}}'
|
||
echo
|
||
echo "下一步:docker compose up -d (记得先把 .env 里 WOC_VERSION 设为 ${TAG})"
|