代码之家  ›  专栏  ›  技术社区  ›  bruvio

使用语义发布获取标记版本

  •  0
  • bruvio  · 技术社区  · 2 年前

    我在我的回购中使用语义发布进行版本控制。在我的Gitlab中,当我将我的分支与development合并时,我的标记会根据提交而增加,并且工作得很好。

    我现在想获得当前版本,将其传递到CI的另一个阶段。

    我紧随其后 this

    我有这个 .releaserc.yml 文件:

    plugins:
      - "@semantic-release/commit-analyzer"
      - "@semantic-release/release-notes-generator"
      - "@semantic-release/exec":
        - publishCmd: "echo \"VERSION=${nextRelease.version}\" >> version.env"
      - "@semantic-release/gitlab"
    tagFormat:
      - ${version}
    branches:
      - "develop"
    

    这就是我想用来获取当前版本并将其保存为工件的gitlab CI阶段

    fetch-semantic-version:
      
      image: node:20
      stage: fetch-version
      variables:
        GITLAB_TOKEN: $ACCESS_TOKEN
      only:
        refs:
        - develop
    
      script:
        - npm install @semantic-release/gitlab @semantic-release/exec
    
    
    
        - npx semantic-release --dry-run --no-ci --branches develop > VERSION.txt
        - cat VERSION.txt 
      artifacts:
        paths:
        - VERSION.txt
        reports:
          dotenv: version.env # this will save the version.env file and apply all variables in the next stage
    

    当我推送提交时(使用 conventional commits )我明白了:

    [7:10:42 AM][semantic release]在分支开发中发现与1.1.2版本相关的git标记1.1.2 [7:10:42 AM][semantic release]自上次发布以来已发现29次提交 [7:10:42 AM][semantic release]插件“@语义发布/提交分析器”完成步骤“analyzeCommits” [7:10:42 AM][语义发布]没有相关变化,因此没有发布新版本。

    我这个案子,没有新的版本,我想得到 1.1.2 ,在新版本的情况下,日志将为:

    [2:43:30PM][semantic release]完成步骤“analyzeCommits” 插件“@语义发布/提交分析器”的[2:43:30PM] 【语义发布】下一个发布版本是1.1.2【下午2:43:30】 【语义发布】启动插件的generateNotes步骤 “@语义发布/发布说明生成器”[2:43:30PM] 【语义发布】插件“generateNotes”步骤完成 “@语义发布/发布说明生成器”[2:43:33PM] 【语义发布】创建标签1.1.2

    如何以这样一种方式修复它,我可以获得以前的版本,找到下一个版本,以确保我将正确的版本传递到下一阶段?

    0 回复  |  直到 2 年前