Browse Source

👷 ci(release): 优化Docker构建和推送工作流

- 修改标签匹配规则,支持直接使用v*格式的标签
- 增强版本号提取逻辑,兼容多种标签格式
- 添加仓库名处理步骤,将仓库名中的斜杠替换为连字符
- 更新Docker镜像仓库地址为VPC专用地址
- 优化镜像标签格式,包含处理后的仓库名和版本号
yourname 1 month ago
parent
commit
0739e26d3c
1 changed files with 12 additions and 7 deletions
  1. 12 7
      .gitea/workflows/release.yaml

+ 12 - 7
.gitea/workflows/release.yaml

@@ -2,7 +2,7 @@ name: Docker Build and Push
 on:
   push:
     tags:
-      - 'release/*'  # 匹配所有release开头的标签,如release/v0.1.6
+      - 'v*'
 
 jobs:
   build-and-push:
@@ -23,18 +23,24 @@ jobs:
       - name: 设置 Docker Buildx
         uses: docker/setup-buildx-action@v3
       
-      - name: 从标签名中提取版本号
-        id: extract_version
+      - name: 提取版本号和处理仓库名
+        id: extract_info
         run: |
-          # 从标签名中提取版本号,例如从 release/v0.1.6 中提取 v0.1.6
+          # 从标签名中提取版本号(例如从 release/v0.1.6 中提取 v0.1.6)
           VERSION=$(echo "${{ gitea.ref_name }}" | sed 's|release/||')
           echo "VERSION=$VERSION" >> $GITHUB_ENV
+          
+          # 处理仓库名(替换斜杠为连字符,避免Docker标签错误)
+          REPO_NAME=$(echo "${{ gitea.repository }}" | sed 's|/|-|g')
+          echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
+          
           echo "提取的版本号:$VERSION"
+          echo "处理后的仓库名:$REPO_NAME"
       
       - name: 登录 Docker 注册表
         uses: docker/login-action@v3
         with:
-          registry: registry.cn-beijing.aliyuncs.com
+          registry: registry-vpc.cn-beijing.aliyuncs.com
           username: ${{ secrets.ALI_DOCKER_REGISTRY_USERNAME }}
           password: ${{ secrets.ALI_DOCKER_REGISTRY_PASSWORD }}
 
@@ -45,5 +51,4 @@ jobs:
           file: ./Dockerfile
           push: true
           tags: |
-            registry.cn-beijing.aliyuncs.com/d8dcloud/d8d-ai-design-prd:release-${{ env.VERSION }}
- 
+            registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/d8d-user-release:${{ env.REPO_NAME }}-${{ env.VERSION }}