feat: 删除.drone.yml && 采用build.sh手动构建镜像

This commit is contained in:
2025-12-17 12:27:20 +08:00
parent b7726e5aa0
commit a1552008de
6 changed files with 110 additions and 133 deletions

View File

@@ -1,25 +1,38 @@
#!/bin/bash
REGISTRY="harbor.seahi.me/stu"
IMAGE_NAME="whoami-for-swarm"
IMAGE_NAME="versions-for-swarm"
PLATFORMS="linux/amd64,linux/386,linux/arm64"
# 构建 v1.0
docker build --build-arg APP_VERSION=v1.0 \
-t ${REGISTRY}/${IMAGE_NAME}:v1.0 .
docker push ${REGISTRY}/${IMAGE_NAME}:v1.0
# 创建并使用支持多平台的 builder如果不存在
if ! docker buildx inspect multiplatform-builder >/dev/null 2>&1; then
docker buildx create --name multiplatform-builder --driver docker-container --bootstrap
fi
docker buildx use multiplatform-builder
# 构建 v2.0
docker build --build-arg APP_VERSION=v2.0 \
-t ${REGISTRY}/${IMAGE_NAME}:v2.0 .
docker push ${REGISTRY}/${IMAGE_NAME}:v2.0
echo "🚀 开始构建所有版本..."
# 构建 v2.1
docker build --build-arg APP_VERSION=v2.1 \
-t ${REGISTRY}/${IMAGE_NAME}:v2.1 .
docker push ${REGISTRY}/${IMAGE_NAME}:v2.1
# 并行构建所有版本
docker buildx build --platform ${PLATFORMS} --build-arg APP_VERSION=v1.0 \
-t ${REGISTRY}/${IMAGE_NAME}:v1.0 --push \
--cache-from type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache \
--cache-to type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache,mode=max . &
# 构建 v3.0-buggy有问题的版本
docker build --build-arg APP_VERSION=v3.0-buggy --build-arg BUGGY=true \
-t ${REGISTRY}/${IMAGE_NAME}:v3.0-buggy .
docker push ${REGISTRY}/${IMAGE_NAME}:v3.0-buggy
docker buildx build --platform ${PLATFORMS} --build-arg APP_VERSION=v2.0 \
-t ${REGISTRY}/${IMAGE_NAME}:v2.0 --push \
--cache-from type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache \
--cache-to type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache,mode=max . &
echo "✅ 所有版本构建完成!"
docker buildx build --platform ${PLATFORMS} --build-arg APP_VERSION=v2.1 \
-t ${REGISTRY}/${IMAGE_NAME}:v2.1 --push \
--cache-from type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache \
--cache-to type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache,mode=max . &
docker buildx build --platform ${PLATFORMS} --build-arg APP_VERSION=v3.0-buggy --build-arg BUGGY=true \
-t ${REGISTRY}/${IMAGE_NAME}:v3.0-buggy --push \
--cache-from type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache \
--cache-to type=registry,ref=${REGISTRY}/${IMAGE_NAME}:buildcache,mode=max . &
# 等待所有后台任务完成
wait
echo "✅ 所有版本构建完成(支持平台: ${PLATFORMS}"