我正在尝试在Azure Devops中建立一个简单的CI管道
我发现从VS2019内部进行构建->发布到Azure应用服务非常容易,并且可以正常工作。
但是,当试图建立一个与Azure Devops具有完全相同功能的CI管道时,会看到一个YAML文件以及可以放入其中的选项。
我设法使管道达到“构建”部分,但随后找不到我的自定义nuget提要,因此我更新了Yaml以包括此nuget restore:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'select'
vstsFeed: 'feed-id'
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
但是构建再次失败,并出现以下错误:
## [错误] nuget命令失败,并显示退出代码(1)和错误(无法加载源https://MYVSTSADDRESS.pkgs.visualstudio.com/_packaging/THE_GUID/nuget/v3/index.json的服务索引。
我的问题是,我不能直接导入从vs 2019开始的确切流程吗?
为什么从devops进行完全相同的事情如此烦人呢?
如果VS不需要,我为什么需要在devops中完成此YAML文档?
答案 0 :(得分:1)
## [错误] nuget命令失败,并显示退出代码(1)和错误(无法加载源https://MYVSTSADDRESS.pkgs.visualstudio.com/_packaging/THE_GUID/nuget/v3/index.json的服务索引。
从错误消息中的URL看来,该任务正在使用Organization Scope Feed
。
根据我的测试,某些管道设置会影响此供稿的使用。
首先,请检查您的错误消息是否与以下内容相似:
如果是,则可以检查Limit job authorization scope to current project for non-release pipelines
中的Enabled
选项是否为Project Settings -> Pipelines
。
您可以尝试禁用该选项。
注意:要禁用此选项,您需要首先在Organization Settings-> Settings
中禁用该选项。然后您可以在项目级别禁用该选项。
然后,您可以导航至Artifacts -> Feed Settings -> Permissions->...
以启用选项Allow Project-Scoped builds
。