You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GHCR容器添加自动递增的Semver版本标签?

解决GHCR容器自动递增Semver标签问题

问题分析

你的当前配置存在两个核心问题:

  1. docker/metadata-action未配置自定义标签模板,默认仅生成带SHA或原v前缀的标签,不符合你需要的纯Semver格式
  2. 工作流仅在推送v*标签时触发,无法实现主分支推送时自动递增版本号,且latest标签因触发条件限制无法生成

方案1:手动打Semver标签时生成规范容器标签

如果你习惯手动创建v1.0.0这类标签,修改Extract metadata步骤,添加Semver标签模板和latest标签规则:

- name: Extract metadata
  id: meta
  uses: docker/metadata-action@v3
  with: 
    images: ghcr.io/skysourced/findtheducks
    tags: |
      # 生成纯Semver标签(如1.0.0)
      type=semver,pattern={{version}}
      # 生成主版本.次版本标签(如1.0)
      type=semver,pattern={{major}}.{{minor}}
      # 生成主版本标签(如1)
      type=semver,pattern={{major}}
      # 仅在默认分支推送时生成latest标签
      type=raw,value=latest,enable={{is_default_branch}}

同时调整工作流触发条件,包含默认分支推送:

on:
  push:
    branches:
      - main # 替换为你的默认分支名
    tags:
      - v*

这样推送v1.0.0标签时,GHCR会同时生成1.0.0、1.0、1三个Semver标签,推主分支时会生成latest标签。


方案2:自动递增Semver标签(无需手动打标签)

如果想要推主分支时自动生成递增的版本号(如从v1.0.0自动到v1.0.1),结合anothrNick/github-tag-action实现:

  1. 调整工作流触发条件:
on:
  push:
    branches:
      - main
  1. 添加自动标签生成步骤:
- name: Bump version and push tag
  id: tag_version
  uses: anothrNick/github-tag-action@v1
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    DEFAULT_BUMP: patch # 可选值:major/minor/patch,默认按补丁版本递增
  1. 修改Extract metadata步骤,使用自动生成的标签:
- name: Extract metadata
  id: meta
  uses: docker/metadata-action@v3
  with: 
    images: ghcr.io/skysourced/findtheducks
    tags: |
      # 使用自动生成的Semver标签(如v1.0.1)
      type=raw,value={{ steps.tag_version.outputs.new_tag }}
      # 生成纯Semver格式标签(如1.0.1)
      type=raw,value={{ steps.tag_version.outputs.new_version }}
      # 同步生成latest标签
      type=raw,value=latest
  1. 确保Build and push步骤使用生成的标签:
- name: Build and push
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: ${{ steps.meta.outputs.tags }}
    labels: ${{ steps.meta.outputs.labels }}

这样每次推主分支时,工具会自动递增版本号并推送到GitHub,同时GHCR会同步生成带v前缀、纯Semver格式和latest三种标签。


内容的提问来源于stack exchange,提问作者SkyBlu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:32:46