Azure管道不会创建预发行版本

时间:2019-08-05 19:11:20

标签: nuget yaml azure-pipelines

我的管道中包含以下代码:

steps:
  - script: echo '##vso[task.setvariable variable=suffix] --version-suffix alpha'
    displayName: "Stting suffix variable if not master"
    condition: and(succeeded(), ne(variables['Build.SourceBranch'], 'refs/heads/master'))

  - script: dotnet pack ./myproj.csproj -p:Version=$(majorVersion).$(minorVersion).$(patchVersion).0 --configuration $(buildConfiguration) $(suffix) --output $(Build.ArtifactStagingDirectory)
    displayName: "Pack mypack"

  - task: PublishBuildArtifacts@1
    displayName: "Publish NuGet"
    inputs:
      pathtoPublish: "$(Build.ArtifactStagingDirectory)"
      artifactName: "Nuget"

  - task: DotNetCoreCLI@2
    displayName: "Publish Artifact"
    inputs:
      command: 'push'
      feedsToUse: 'select'
      packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
      nuGetFeedType: 'internal'
      publishVstsFeed: 'myfeed'
      versioningScheme: 'off'

流水线没有任何错误,我可以在日志中看到以下内容

  

dotnet pack ./myproj.csproj -p:Version = 0.0.12.0-配置   发行--version-suffix alpha --output / home / vsts / work / 1 / a

但是,当在工件或Visual Studio中查看nuget包时,它不是预发行版,而是普通的nuget。我做错了什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

您似乎在谈论Views on Azure DevOps Services feeds 请注意,在创建软件包时,它将自动将软件包发布回Feed的 @local 视图。因此,这是您方案中的预期行为。

  

@local 视图包含直接发布到Feed中的所有软件包(例如,通过nuget push或npm publish)以及从中保存的所有软件包   上游资源。如果您不使用其他任何视图,则@local应该是   您的默认视图。

但是之后,您可以将软件包升级到@prerelease视图:

  

为早期采用者准备好软件包后,请选择该软件包并   其依赖关系图并将其提升到@prerelease视图。

有关详细信息,请参阅Promote your package to the correct view

更新:

如果您后缀alpha未添加到生成的程序包中,则可以将后缀集成到version参数中:(--version-suffix alpha在命令中无效)

  - script: echo '##vso[task.setvariable variable=suffix]-alpha'
    displayName: "Stting suffix variable if not master"
    condition: and(succeeded(), ne(variables['Build.SourceBranch'], 'refs/heads/master'))

  - script: dotnet pack ./myproj.csproj -p:Version=$(majorVersion).$(minorVersion).$(patchVersion)$(suffix) --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)
    displayName: "Pack mypack"

要推广该软件包,您可以参考以下屏幕截图:

enter image description here