如何将VS 2019部署配置导入到Azure devops

时间:2020-11-08 20:36:13

标签: azure-devops visual-studio-2019 azure-appservice

我正在尝试在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文档?

1 个答案:

答案 0 :(得分:1)

## [错误] nuget命令失败,并显示退出代码(1)和错误(无法加载源https://MYVSTSADDRESS.pkgs.visualstudio.com/_packaging/THE_GUID/nuget/v3/index.json的服务索引。

从错误消息中的URL看来,该任务正在使用Organization Scope Feed

根据我的测试,某些管道设置会影响此供稿的使用。

首先,请检查您的错误消息是否与以下内容相似:

enter image description here

如果是,则可以检查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

enter image description here