如何在json文件中引用环境变量

时间:2019-06-17 22:40:57

标签: azure azure-devops

我的发布管道中有一个文件创建器任务,该任务创建一个cypress.json文件:

{
  "integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
  "baseUrl": $env:featureReleaseUrl
}

如您所见,我引用的是环境变量featureReleaseUrl

在{strong>之前创建Azure Powershell文件的cypress.json任务中,我输出了$env:featureReleaseUrl变量:

write-host $env:featureReleaseUrl

哪个输出:

  

http://exampleofaurl.azurewebsites.net

因此正确设置了变量。

当我阅读创建的cypress.json文件的内容时,我看到:

{
  "integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
  "baseUrl": $env:featureReleaseUrl
}

当我运行赛普拉斯时,我得到:

  

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开发人员中创建文件时如何引用变量的任何建议?

1 个答案:

答案 0 :(得分:1)

使用Azure时较难的事情之一是何时使用哪种变量。

我为解决问题所做的工作没有在创建json文件时直接引用$env:featureReleaseUrl

{
  "integrationFolder": "D:/a/r1/a/_ClientWeb-Build-CI/ShellArtifact/tests/integration/",
  "baseUrl": "$(featureReleaseUrl)"
}

此变量$(featureReleaseUrl)引用:

enter image description here

这可能不是最快的解决方案,但它可以工作。