创建 nuget 包时如何将 .net core 8 服务配置文件与 Azure DevOps 变量组映射

问题描述 投票:0回答:1

在我的应用程序中,总共有 35 个 gRPC 服务,根据要求,我们需要为每个服务和依赖的 C# 库创建 nuget 包,并将其上传到 Azure 工件源。但问题是,我们总共有 6 个环境,每个环境的一些或其他配置参数都是不同的。最重要的是,每个 gRPC 服务都依赖于其他 C# 库,并且具有跨服务引用。

现在我面临的挑战

  1. 如何创建 nuget 包、读取 azure devops 变量组并使用应用程序配置文件进行映射

示例:

 "ConnectionStrings": {
    "ConnectionString": "#{MasterDatabaseConnectionString}#",    
  }

MasterDatabaseConnectionString 值存储在 Azure DevOps 变量组之一中,例如 staging-build-variable

  1. 我无法在 YAML 文件中创建 nuget 包,因为服务与其他服务具有依赖关系。目前,我创建了 PowerShell 脚本,该脚本将在本地计算机中针对解决方案运行,解决所有服务依赖性,然后将其上传到 Azure Artifacts feed。但挑战是它无法解析上面提到的配置值。

请帮助我,或者任何参考资料都会有帮助。上周的挣扎

尝试了各种选择,但目前还没有成功。

.net .net-core azure-devops nuget
1个回答
0
投票

如何创建 nuget 包、读取 azure devops 变量组并使用应用程序配置文件进行映射

根据您的需求,您需要使用变量组中的变量来更新配置文件。

为了满足您的要求,您可以尝试使用替换令牌扩展中的替换令牌任务。

步骤如下:

Step1: 将值保留为配置文件中的

#{MasterDatabaseConnectionString}#

Step2:在 nuget package create 任务前添加 Replace token 任务来设置值。

例如:

- task: replacetokens@6
  inputs:
    root: 'working folder'
    sources: 'appsettings.json'

Step3:将变量组中的变量名称更改为MasterDatabaseConnectionString(与配置文件中的值相同)。

然后该任务会根据变量组中的变量自动更新配置文件中的值。

© www.soinside.com 2019 - 2024. All rights reserved.