feat: 删除.drone.yml && 采用build.sh手动构建镜像
This commit is contained in:
49
build.sh
49
build.sh
@@ -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})!"
|
||||
|
||||
Reference in New Issue
Block a user