From c678ca387b53a51559e5da3f90a61ee1236a7423 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Thu, 9 Jul 2026 13:33:30 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E4=BC=98=E5=8C=96=E9=95=9C=E5=83=8F=20ta?= =?UTF-8?q?g=20=E7=AD=96=E7=95=A5=20-=20develop=20=E7=94=A8=20dev=20?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=20tag=20=E8=A6=86=E7=9B=96=E6=8E=A8=E9=80=81?= =?UTF-8?q?=EF=BC=8Cfeature=20=E5=88=86=E6=94=AF=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci-cd.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 2b7373ebb..9f5937a35 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -376,7 +376,7 @@ jobs: timeout-minutes: 30 needs: [validate, frontend-lint] - if: github.ref_name == 'main' || github.ref_name == 'develop' || startsWith(github.ref_name, 'feature/') + if: github.ref_name == 'main' || github.ref_name == 'develop' steps: - name: Checkout code @@ -424,6 +424,20 @@ jobs: tar.extract(member, '.') INNERPY + - name: Determine image tag based on branch + shell: sh + run: | + set -eu + if [ "${GITHUB_REF_NAME}" = "develop" ]; then + # develop 分支:固定 dev tag,覆盖推送,不累积版本 + echo "IMAGE_TAG=dev" >> "$GITHUB_ENV" + echo "Mode: develop → :dev tag (overwrite, no accumulation)" + else + # main 分支:用 commit SHA 作为 tag + echo "IMAGE_TAG=${GITHUB_SHA}" >> "$GITHUB_ENV" + echo "Mode: ${GITHUB_REF_NAME} → :${GITHUB_SHA} tag" + fi + - name: Build and push all images to Gitea Registry shell: sh env: @@ -432,7 +446,7 @@ jobs: set -eu chmod +x scripts/build_release_images.sh ALLOW_SHARED_PRODUCTION_BUILD_HOST=true REGISTRY_TOKEN="${REGISTRY_TOKEN}" \ - scripts/build_release_images.sh "${GITHUB_SHA}" staging + scripts/build_release_images.sh "${IMAGE_TAG}" staging - name: Tag and push :staging images (Watchtower auto-update) shell: sh @@ -445,7 +459,7 @@ jobs: printf '%s' "${REGISTRY_TOKEN}" | docker login git.xiaoxiajianji.com -u xiaoxia --password-stdin 2>/dev/null fi for svc in api worker web; do - docker tag "${REGISTRY}/xiaoxia-saas-${svc}:${GITHUB_SHA}" "${REGISTRY}/xiaoxia-saas-${svc}:staging" + docker tag "${REGISTRY}/xiaoxia-saas-${svc}:${IMAGE_TAG}" "${REGISTRY}/xiaoxia-saas-${svc}:staging" docker push "${REGISTRY}/xiaoxia-saas-${svc}:staging" done echo "All :staging images pushed. Watchtower will auto-deploy within 60s." -- 2.54.0