如何在 Azure DevOps 发布管道的测试项目中替换值 appsettings.json?
How do I substitute values appsettings.json in a test project in Azure DevOps release pipeline?
我有什么
在我的发布管道中,我使用 IIS Web 应用程序部署任务在 appsettings.json:
中执行变量替换
我想运行一些集成和端到端测试:
问题
- 如何替换与我的测试项目相关的设置 appsettings.json。
- 如何强制测试 运行ner 使用特定的环境,例如 Staging,以便选择 appsettings.Staging.json will?
如何替换与我的测试项目相关的设置 appsettings.json。
有一个 File Trasnform 任务执行变量替换,与 IIS Web 应用程序部署任务完全一样,但在一个单独的步骤中。
如何强制测试运行器使用特定环境,例如暂存,以便选择 appsettings.Staging.json 遗嘱?
像ASPNETCORE_ENVIRONMENT这样的环境变量可以在.runsettings文件中配置:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<RunConfiguration>
<EnvironmentVariables>
<ASPNETCORE_ENVIRONMENT>Development</ASPNETCORE_ENVIRONMENT>
</EnvironmentVariables>
</RunConfiguration>
</RunSettings>
然后可以在单独的流水线步骤中替换环境变量的值。我使用过 powershell 任务:
steps:
- powershell: |
$fileName = "$(System.DefaultWorkingDirectory)/MyBuildArtifact/test.runsettings";
[xml]$xml = Get-Content $fileName
$xml.SelectSingleNode("//ASPNETCORE_ENVIRONMENT").InnerText = "$(System.StageDisplayName)";
$xml.Save($fileName);
failOnStderr: true
showWarnings: true
displayName: 'Configure ASPNETCORE_ENVIRONMENT'
我还需要确保 test.runsettings 文件包含在我的构建工件中并配置 Visual Studio 测试任务以使用该文件
我有什么
在我的发布管道中,我使用 IIS Web 应用程序部署任务在 appsettings.json:
中执行变量替换我想运行一些集成和端到端测试:
问题
- 如何替换与我的测试项目相关的设置 appsettings.json。
- 如何强制测试 运行ner 使用特定的环境,例如 Staging,以便选择 appsettings.Staging.json will?
如何替换与我的测试项目相关的设置 appsettings.json。
有一个 File Trasnform 任务执行变量替换,与 IIS Web 应用程序部署任务完全一样,但在一个单独的步骤中。
如何强制测试运行器使用特定环境,例如暂存,以便选择 appsettings.Staging.json 遗嘱?
像ASPNETCORE_ENVIRONMENT这样的环境变量可以在.runsettings文件中配置:
<?xml version="1.0" encoding="utf-8"?> <RunSettings> <RunConfiguration> <EnvironmentVariables> <ASPNETCORE_ENVIRONMENT>Development</ASPNETCORE_ENVIRONMENT> </EnvironmentVariables> </RunConfiguration> </RunSettings>
然后可以在单独的流水线步骤中替换环境变量的值。我使用过 powershell 任务:
steps: - powershell: | $fileName = "$(System.DefaultWorkingDirectory)/MyBuildArtifact/test.runsettings"; [xml]$xml = Get-Content $fileName $xml.SelectSingleNode("//ASPNETCORE_ENVIRONMENT").InnerText = "$(System.StageDisplayName)"; $xml.Save($fileName); failOnStderr: true showWarnings: true displayName: 'Configure ASPNETCORE_ENVIRONMENT'
我还需要确保 test.runsettings 文件包含在我的构建工件中并配置 Visual Studio 测试任务以使用该文件