在我的应用程序中,总共有 35 个 gRPC 服务,根据要求,我们需要为每个服务和依赖的 C# 库创建 nuget 包,并将其上传到 Azure 工件源。但问题是,我们总共有 6 个环境,每个环境的一些或其他配置参数都是不同的。最重要的是,每个 gRPC 服务都依赖于其他 C# 库,并且具有跨服务引用。
现在我面临的挑战
示例:
"ConnectionStrings": {
"ConnectionString": "#{MasterDatabaseConnectionString}#",
}
MasterDatabaseConnectionString 值存储在 Azure DevOps 变量组之一中,例如 staging-build-variable
请帮助我,或者任何参考资料都会有帮助。上周的挣扎
尝试了各种选择,但目前还没有成功。
如何创建 nuget 包、读取 azure devops 变量组并使用应用程序配置文件进行映射
根据您的需求,您需要使用变量组中的变量来更新配置文件。
为了满足您的要求,您可以尝试使用替换令牌扩展中的替换令牌任务。
步骤如下:
Step1: 将值保留为配置文件中的
#{MasterDatabaseConnectionString}#
。
Step2:在 nuget package create 任务前添加 Replace token 任务来设置值。
例如:
- task: replacetokens@6
inputs:
root: 'working folder'
sources: 'appsettings.json'
Step3:将变量组中的变量名称更改为MasterDatabaseConnectionString(与配置文件中的值相同)。
然后该任务会根据变量组中的变量自动更新配置文件中的值。