【发布时间】:2020-09-25 12:37:57
【问题描述】:
我正在为 Node 应用程序设置 Azure 管道,并使用 Jest 来测试 API 和集成。源代码位于 Azure DevOps 上,代码部署在 Azure 门户中。 当我运行测试时,它在管道中失败,因为 .env 从未在远程存储库中检查过。通过配置,环境变量在运行时位于 Azure 门户中,因此管道无法真正访问它。
为了让我的测试能够运行虚拟机,有哪些方法可以访问或创建环境变量的新位置?
我当前的解决方案(我不知道它是否正确)是创建一个变量组并重新定义我所有的环境变量,以便管道可以读取这里也描述的变量:https://damienaicheh.github.io/azure/devops/2019/09/04/how-to-use-variables-inside-your-azure-devops-builds-en.html
我的问题是:
- 这是正确的吗?这里存储的任何变量都与构建无关,它们也不是运行命令的输入,而是源代码中需要我的所有环境变量,因此我可以在虚拟机中进行测试(例如:base_url、apiKeys 等)。
- 如果这是正确的,我怎样才能避免重写和重新分配管道中的所有值?我可以获取整个变量组并且源代码可以解释吗?我想避免这种情况
- env
- API_KEY: $(apiKey)
- MAPS_KEY: $(mapsKey)
- CLIENT_KEY: $(clientKey)
- CLIENT_SECRET: $(clientSecret)
-
-
- and so on...
// looking for something like this
-env: myVariableGroup
- 任何导致帖子,文章更好的解决方案?我正在考虑使用密钥保管库,但我认为它基本上与我必须逐个导入相同。
【问题讨论】:
标签: node.js azure azure-devops azure-web-app-service azure-pipelines