gpt4 book ai didi

azure-pipelines-release-pipeline - 在 Visual Studio Team Services 中使用包含分号的值覆盖 TestRun 参数

转载 作者:行者123 更新时间:2023-12-04 15:08:37 25 4
gpt4 key购买 nike

我的 runsettings 文件包含几个我希望能够根据环境在 VSTS 中覆盖的连接字符串。

我不希望每个环境都有一个特定的 runsettings 文件,但我想使用环境变量以便与我们的其他部署版本的配置方式保持一致。

但是,当我想将包含分号 (;) 的连接字符串(或任何参数)转发给我的单元测试时,我遇到了问题。它正在被截断。我已经测试过在没有“;”的情况下传输其他值成功地。

environment variables

task configuration

settings.runsettings

        <?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<TestRunParameters>
<Parameter name="CRM_CONNECTIONSTRING" value="Url = https://MYCRM.crm4.dynamics.com; Username=login@email.com; Password=mypassword;" />
<TestRunParameters>
</RunSettings>

但是,在执行(并显示单元测试中收到的实际值)时,该值在第一个“;”之后被截断。

enter image description here

有没有办法保护值(value)?

最佳答案

在直接与微软联系后,最终以一种解决方法回答自己。

官方 vsts-task github 上也出现了问题:https://github.com/Microsoft/vsts-tasks/issues/2567

解决方法:在测试组装任务之前,运行一个 powershell 脚本,将 runsettings 文件的路径作为参数,读取 VSTS 环境变量并直接替换 runsettings 中的 XML 值。

我在这里提供了我的 powershell 脚本:https://github.com/camous/vsts-powershell/blob/master/Set-RunSettings.ps1
(参数必须以“__”为前缀)

我在这里写了一个更完整的“操作方法”:https://stuffandtacos.azurewebsites.net/2016/09/28/override-runsettings-parameters-in-visual-studio-team-service-when-value-contains-semi-colons/

关于azure-pipelines-release-pipeline - 在 Visual Studio Team Services 中使用包含分号的值覆盖 TestRun 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39510402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com