我有点困在这里,可能需要一些帮助来理解这个过程与azure管道。
我有这样的管道:
steps:
- task: DotNetCoreCLI@2
displayName: 'DotNet - Restore'
inputs:
command: 'restore'
projects: '**/*.csproj'
noCache: true
versioningScheme: 'off'
vstsFeed: 'my-feed'
- task: DotNetCoreCLI@2
displayName: 'DotNet - Pack'
inputs:
command: 'pack'
packagesToPack: '**/*.csproj'
versioningScheme: 'off'
- task: DotNetCoreCLI@2
displayName: 'DotNet - Push'
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
nuGetFeedType: 'internal'
publishVstsFeed: 'my-feed'
这个管道大约需要6分钟来运行,当我检查管道的详细信息时,我看到花费最多的任务是恢复和打包。
当我检查这些任务的输出时,我很确定管道在第一步中正在构建和恢复,如下:
- task: DotNetCoreCLI@2
displayName: 'DotNet - Restore'
inputs:
command: 'restore'
projects: '**/*.csproj'
noCache: true
versioningScheme: 'off'
vstsFeed: 'my-feed'
,当我检查包,我看到同样的东西
- task: DotNetCoreCLI@2
displayName: 'DotNet - Pack'
inputs:
command: 'pack'
packagesToPack: '**/*.csproj'
versioningScheme: 'off'
我检查了azure文档,但是我找不到任何关于打包步骤的步骤的解释,以及它是否附带还原。
谁能帮我弄点光吗?如果我摆脱了恢复,项目将恢复作为包的一部分,无论如何?我想缩短这条管道的构建时间。
非常感谢您的帮助和解释。
dotnet pack
的文档清楚地解释了这种行为:
您不需要运行
dotnet restore
,因为它是由所有需要恢复的命令隐式运行的dotnet new
、dotnet build
、dotnet run
、dotnet test
、dotnet publish
、dotnet pack
。要禁用隐式恢复,请使用--no-restore
选项。
我特别强调。