我的管道中包含以下代码:
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。我做错了什么以及如何解决?
答案 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"
要推广该软件包,您可以参考以下屏幕截图: