Baseline: pr1 HYC下载站 v2.3 before security/functional fixes

This commit is contained in:
HYC Fixer
2026-08-30 12:12:58 +08:00
commit a8e773839b
77 changed files with 38568 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
#!/bin/bash
# ============================================
# HYC下载站 v2.3 - 多架构 Docker 构建脚本
# 支持: amd64, arm64, arm/v7, i386
# ============================================
set -e
# 颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
VERSION=${1:-v2.3}
REGISTRY=${2:-hyc-download-station}
TAG=${3:-$VERSION}
# 支持的平台
PLATFORMS="linux/amd64,linux/arm64,linux/arm/v7,linux/386"
echo "========================================"
echo " HYC下载站 v2.3 - 多架构构建"
echo "========================================"
echo " 版本: $TAG"
echo " 平台: $PLATFORMS"
echo
# 检查 Docker
if ! command -v docker &> /dev/null; then
echo -e "${RED}✗ Docker 未安装${NC}"
exit 1
fi
# 检查 BuildX
if ! docker buildx version &> /dev/null; then
echo -e "${YELLOW}⚠ Docker BuildX 未安装,尝试安装...${NC}"
docker buildx install || true
fi
# 创建构建器
echo "[1/4] 创建构建器..."
docker buildx rm hyc-builder 2>/dev/null || true
docker buildx create \
--name hyc-builder \
--platform $PLATFORMS \
--use
# 引导构建器
echo "[2/4] 引导构建器..."
docker buildx inspect --bootstrap
# 构建镜像
echo "[3/4] 构建镜像..."
echo " 构建中,请稍候..."
START_TIME=$(date +%s)
docker buildx build \
--platform $PLATFORMS \
--tag "$REGISTRY:$TAG" \
--tag "$REGISTRY:latest" \
--push \
--file docker/Dockerfile.multiarch \
.
END_TIME=$(date +%s)
BUILD_TIME=$((END_TIME - START_TIME))
echo -e "${GREEN}✓ 构建完成 (${BUILD_TIME}秒)${NC}"
# 推送清单
echo "[4/4] 创建清单..."
docker manifest create "$REGISTRY:$TAG" \
"$REGISTRY:$TAG-amd64" \
"$REGISTRY:$TAG-arm64" \
"$REGISTRY:$TAG-arm-v7" \
"$REGISTRY:$TAG-386" 2>/dev/null || true
docker manifest push "$REGISTRY:$TAG" || true
echo
echo "========================================"
echo -e "${GREEN}✓ 多架构构建完成${NC}"
echo "========================================"
echo
echo "镜像标签:"
echo " - $REGISTRY:$TAG"
echo " - $REGISTRY:latest"
echo
echo "推送到仓库:"
echo " docker pull $REGISTRY:$TAG"
echo