Yaml 管道。如何使用控制台应用程序在构建中交换连接字符串
Yaml pipeline. How to swap connstrings in Builds with Console App
我使用 .Net Core 3.1 构建了一个控制台应用程序。我使用 Yaml 大量依赖 docs.microsoft.com 文档来构建它。发布正在推送到正确的框。但是我有一个 appsettings.json 文件,它有一个 conn 字符串变量,在我的 TEST、QA 和 PROD 区域之间是不同的。我知道如何使用 .NET 和 MVC 中的 xml 文件转换来执行此操作,但我无法让它工作。任何帮助都会很棒,因为我什至不知道我在这里尝试做的事情的术语。
如何根据变量更改 appsettings.json 中的连接字符串,或者我是否必须创建 3 个分支,每个分支都有设置并创建 3 个构建和发布管道?
谢谢。
为了推送到不同的环境你通常
- 具有从不同分支触发的单独发布管道。
- 您有一个包含不同阶段的发布管道,需要预先批准才能进入下一阶段测试 -> 质量保证 -> 生产。
在这两种情况下,您都将使用 Stage。
您需要添加一个名为“文件转换”的任务
在文件格式中 select JSON
现在,在 appsettings.json 文件中找到的任何变量都将替换为您在管道中设置的变量。
小心,因为像
这样的嵌套变量
{
SerilogSettings: {
BatchSize: 100
}
}
需要设置一个“.”而是喜欢
SerilogSettings.BatchSize
我使用 .Net Core 3.1 构建了一个控制台应用程序。我使用 Yaml 大量依赖 docs.microsoft.com 文档来构建它。发布正在推送到正确的框。但是我有一个 appsettings.json 文件,它有一个 conn 字符串变量,在我的 TEST、QA 和 PROD 区域之间是不同的。我知道如何使用 .NET 和 MVC 中的 xml 文件转换来执行此操作,但我无法让它工作。任何帮助都会很棒,因为我什至不知道我在这里尝试做的事情的术语。
如何根据变量更改 appsettings.json 中的连接字符串,或者我是否必须创建 3 个分支,每个分支都有设置并创建 3 个构建和发布管道?
谢谢。
为了推送到不同的环境你通常
- 具有从不同分支触发的单独发布管道。
- 您有一个包含不同阶段的发布管道,需要预先批准才能进入下一阶段测试 -> 质量保证 -> 生产。
在这两种情况下,您都将使用 Stage。
您需要添加一个名为“文件转换”的任务
在文件格式中 select JSON
现在,在 appsettings.json 文件中找到的任何变量都将替换为您在管道中设置的变量。
小心,因为像
这样的嵌套变量{
SerilogSettings: {
BatchSize: 100
}
}
需要设置一个“.”而是喜欢
SerilogSettings.BatchSize