up
This commit is contained in:
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# ============================================
|
||||
# 多架构构建 & 推送脚本
|
||||
# 用法:
|
||||
# DOCKER_USER=yourname ./buildx-push.sh
|
||||
# DOCKER_USER=yourname VERSION=v1.0.0 ./buildx-push.sh
|
||||
# ============================================
|
||||
|
||||
DOCKER_USER="${DOCKER_USER:-DOCKER_USER}"
|
||||
VERSION="${VERSION:-$(git describe --tags --always 2>/dev/null || echo latest)}"
|
||||
PLATFORMS="linux/amd64,linux/arm64"
|
||||
|
||||
# 确保 buildx 可用
|
||||
if ! docker buildx version &>/dev/null; then
|
||||
echo "❌ docker buildx 不可用,请安装或升级 Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 创建/复用 multiarch builder
|
||||
if ! docker buildx inspect multiarch &>/dev/null 2>&1; then
|
||||
echo "🔧 创建 multiarch builder..."
|
||||
docker buildx create --name multiarch --driver docker-container --use
|
||||
else
|
||||
docker buildx use multiarch
|
||||
fi
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "🚀 构建 backend (${PLATFORMS})"
|
||||
echo " tag: ${DOCKER_USER}/meoo-backend:${VERSION}"
|
||||
echo "========================================"
|
||||
docker buildx build \
|
||||
--platform "${PLATFORMS}" \
|
||||
-t "${DOCKER_USER}/meoo-backend:${VERSION}" \
|
||||
-t "${DOCKER_USER}/meoo-backend:latest" \
|
||||
--push \
|
||||
./backend
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "🚀 构建 frontend (${PLATFORMS})"
|
||||
echo " tag: ${DOCKER_USER}/meoo-frontend:${VERSION}"
|
||||
echo "========================================"
|
||||
docker buildx build \
|
||||
--platform "${PLATFORMS}" \
|
||||
-t "${DOCKER_USER}/meoo-frontend:${VERSION}" \
|
||||
-t "${DOCKER_USER}/meoo-frontend:latest" \
|
||||
--push \
|
||||
.
|
||||
|
||||
echo ""
|
||||
echo "✅ 完成!"
|
||||
echo " backend: ${DOCKER_USER}/meoo-backend:${VERSION}"
|
||||
echo " frontend: ${DOCKER_USER}/meoo-frontend:${VERSION}"
|
||||
Reference in New Issue
Block a user