我的发布管道中有一个文件创建器任务,它创建 cypress.json
文件:
{
"integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
"baseUrl": $env:featureReleaseUrl
}
正如你所看到的,我引用了一个环境变量 featureReleaseUrl
.
在 Azure Powershell
创建 cypress.json
之前的任务文件我输出 $env:featureReleaseUrl
变量:
write-host $env:featureReleaseUrl
哪些输出:
因此变量设置正确。
当我阅读我创建的cypress.json
的内容时我看到的文件:
{
"integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
"baseUrl": $env:featureReleaseUrl
}
当我运行 Cypress 时,我得到:
SyntaxError: D:\a\r1\a\_ClientWeb-Build-CI\ShellArtifact\tests\integration\cypress.json: Unexpected token $ in JSON at position 104
所以看起来就像我创建 cypress.json
时一样文件需要 $env:featureReleaseUrl
作为文字字符串而不是变量的实际值。
有什么建议可以让我在 Azure dev-ops 中创建文件时引用变量吗?
最佳答案
使用 Azure 时最困难的事情之一是何时使用哪种变量。
我为解决问题所做的并不是在创建 json 文件时直接引用 $env:featureReleaseUrl
:
{
"integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
"baseUrl": "$(featureReleaseUrl)"
}
此变量$(featureReleaseUrl)
指的是:
这可能不是最快的解决方案,但它确实有效。
关于azure - 如何在json文件中引用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56639697/