【问题标题】:Azure Pipelines & Nuget Packages - Set pack version to tag versionAzure Pipelines & Nuget Packages - 将包版本设置为标记版本
【发布时间】:2020-09-03 15:12:00
【问题描述】:

当我将标签推送到存储库时,我设法触发了我的管道。标签的格式始终为“v(Major).(Minor).(Release)(-alpha)”。

如何从标签中获取该信息并将其设置为包版本?

编辑 1:
命令git tag -a 1.0.1 将创建将触发管道的标签,我希望金块包版本像标签一样为“1.0.1”

【问题讨论】:

    标签: azure-devops continuous-integration azure-pipelines nuget-package


    【解决方案1】:

    您可能需要进行一些解析和错误处理,以便仅针对标签运行,但您可以从Build.SourceBranch 变量中获取和解析值,如documentation 所示:

    构建排队的触发回购的分支。一些 例子:

    • Git 仓库分支:refs/heads/master
    • Git repo 拉取请求:refs/pull/1/merge
    • TFVC repo 分支:$/teamproject/main
    • TFVC 回购门控签到:Gated_2016-06-06_05.20.51.4369;username@live.com
    • TFVC repo 搁置集构建:myshelveset;username@live.com
    • 当你的管道被标签触发时:refs/tags/your-tag-name

    当您在内部版本号格式中使用此变量时,前向 斜线字符 (/) 替换为下划线字符 _)。

    注意:在 TFVC 中,如果您正在运行门控签入构建或手动 构建搁置集,您不能在构建中使用此变量 数字格式。

    【讨论】:

      【解决方案2】:

      这可以在不使用以下 YAML 进行解析和错误处理的情况下完成:

      trigger:
        tags:
          include:
          - 0.*
          - 1.*
          - 2.*
          - 3.*
          - 4.*
          - 5.*
          - 6.*
          - 7.*
          - 8.*
          - 9.*
      
      pool: 'LocalWindows'
      
      variables:
        solution: '**/*.sln'
        buildPlatform: 'Any CPU'
        buildConfiguration: 'Release'
      
      steps:
      
      - task: NuGetToolInstaller@1
      
      - task: NuGetCommand@2
        inputs:
          restoreSolution: '$(solution)'
      
      - task: VSBuild@1
        inputs:
          solution: '$(solution)'
          platform: '$(buildPlatform)'
          configuration: '$(buildConfiguration)'
         
      - task: NuGetCommand@2
        inputs:
          command: 'pack'
          packagesToPack: '**/Source/*.vbproj'
          versioningScheme: 'byEnvVar'
          versionEnvVar: 'BUILD_SOURCEBRANCHNAME'
          includeSymbols: true
      

      特别之处在于,你必须有一个只监听标签的触发器,然后你才能使用 envvar BUILD_SOURCEBRANCHNAME。

      您可以根据需要调整标签包含。

      【讨论】:

        【解决方案3】:

        在管道内部,您有一个名为标记格式的选项,您可以在其中查看包版本。

        请看下面的截图:

        【讨论】:

        • 对不起,莫妮卡,你似乎不明白这里的想法......请查看编辑 1 了解更多详情
        • @Leonardo - 很抱歉之前错过了您的评论。我看到马特已经回答了这个问题。
        猜你喜欢
        • 1970-01-01
        • 2020-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-09
        • 1970-01-01
        相关资源
        最近更新 更多