diff --git a/build_push.sh b/build_push.sh index 7ef61dc..fbb4be7 100644 --- a/build_push.sh +++ b/build_push.sh @@ -127,8 +127,8 @@ build_and_push() { # 生成版本标签 (包括主版本、次版本等) TAGS=$(generate_version_tags "$IMAGE_TAG" "$SWR_REGISTRY_REPO") - # 如果是 main 分支,添加 latest 标签 - if [ "${CI_COMMIT_BRANCH:-}" = "main" ]; then + # 如果是 main 或 master 分支,添加 latest 标签 + if [ "${CI_COMMIT_BRANCH:-}" = "main" ] || [ "${CI_COMMIT_BRANCH:-}" = "master" ]; then TAGS="$TAGS,$SWR_REGISTRY_REPO:latest" fi @@ -150,15 +150,23 @@ build_and_push() { exit 1 fi else - # 非标签版本,只构建单个标签 + # 非标签版本,构建基本标签 + local build_args="-t $SWR_REGISTRY_REPO:$IMAGE_TAG" + track_image "$SWR_REGISTRY_REPO:$IMAGE_TAG" + + # 如果是 main 或 master 分支,也推送 latest 标签 + if [ "${CI_COMMIT_BRANCH:-}" = "main" ] || [ "${CI_COMMIT_BRANCH:-}" = "master" ]; then + build_args="$build_args -t $SWR_REGISTRY_REPO:latest" + track_image "$SWR_REGISTRY_REPO:latest" + fi + echo "" - echo "Build and push image: $SWR_REGISTRY_REPO:$IMAGE_TAG" - docker buildx build --platform linux/amd64,linux/arm64 -t "$SWR_REGISTRY_REPO:$IMAGE_TAG" $APP_VER_ARG --push --provenance=false --sbom=false . + echo "Build and push image: $SWR_REGISTRY_REPO:$IMAGE_TAG and possibly latest" + docker buildx build --platform linux/amd64,linux/arm64 $APP_VER_ARG $build_args --push --provenance=false --sbom=false . if [ $? -ne 0 ]; then echo "错误: 镜像构建或推送失败" exit 1 fi - track_image "$SWR_REGISTRY_REPO:$IMAGE_TAG" fi echo "Image pushed: $SWR_REGISTRY_REPO:$IMAGE_TAG"