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

How to import VS 2019 deployment config to Azure devops

我正在尝试在 Azure Devops

中设置一个简单的 CI 管道

我发现从 VS2019 中执行构建 -> 发布到 Azure 应用服务非常容易,而且它运行完美。

但是,当我尝试设置一个 CI 管道来执行与 Azure Devops 完全相同的操作时,我看到了一个 YAML 文件,以及我可以放入其中的选项。

我设法让我的管道到达“构建”部分,但随后找不到我的自定义 nuget 提要,因此我更新了我的 yaml 以包含此 nuget 恢复:

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)'

但是构建再次失败,出现以下错误:

##[error]The nuget command failed with exit code(1) and error(Unable to load the service index for source https://MYVSTSADDRESS.pkgs.visualstudio.com/_packaging/THE_GUID/nuget/v3/index.json.

我的问题是,我不能只导入我在 vs 2019 中遵循的确切流程吗?

为什么从 devops 做同样的事情会如此烦人复杂?

如果 VS 不需要,为什么我需要在 devops 中完成此 YAML 文档?

##[error]The nuget command failed with exit code(1) and error(Unable to load the service index for source https://MYVSTSADDRESS.pkgs.visualstudio.com/_packaging/THE_GUID/nuget/v3/index.json.

从报错信息中的URL来看,任务好像是在使用Organization Scope Feed.

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

首先请检查您的报错信息是否类似如下:

如果是,您可以在Project Settings -> Pipelines.

中检查Limit job authorization scope to current project for non-release pipelines选项是否为Enabled

您可以尝试禁用该选项。

注意:要禁用此选项,您需要先禁用Organization Settings-> Settings中的选项。然后您可以在项目级别禁用该选项。

然后您可以导航至 Artifacts -> Feed Settings -> Permissions->... 以启用选项 Allow Project-Scoped builds