Botframework Azure管道构建测试期间环境变量为空

Botframework Azure管道构建测试期间环境变量为空,botframework,azure-pipelines,Botframework,Azure Pipelines,我已经为我的聊天机器人创建了一个构建管道,该管道使用mocha测试作为过程的一部分。所有测试都通过我的本地VS代码,但在管道构建过程中失败。问题在于缺少环境变量。然而,我已经通过变量为每个运行添加了变量,并且它仍然仅在某些情况下不起作用。一些变量顺利通过,但其他变量继续为空,导致构建失败。我已经检查过了,所有变量名都与我的本地.env文件相同。你知道为什么在管道构建过程中,一些变量会显示为null,而其他变量则可以吗?这是我的本地测试环境(Windows命令行)和构建管道(ubuntu)之间的一

我已经为我的聊天机器人创建了一个构建管道,该管道使用mocha测试作为过程的一部分。所有测试都通过我的本地VS代码,但在管道构建过程中失败。问题在于缺少环境变量。然而,我已经通过变量为每个运行添加了变量,并且它仍然仅在某些情况下不起作用。一些变量顺利通过,但其他变量继续为空,导致构建失败。我已经检查过了,所有变量名都与我的本地.env文件相同。你知道为什么在管道构建过程中,一些变量会显示为null,而其他变量则可以吗?

这是我的本地测试环境(Windows命令行)和构建管道(ubuntu)之间的一个问题。在Windows上,环境变量不区分大小写,但在ubuntu等Linux平台上。我通过yml文件更改了使用windows最新版本而不是ubuntu最新版本的版本,这解决了这个问题。关键在于:

使用Linux env变量命名,而不考虑您的平台所有空格的大写和下划线
如果您的项目中已经有许多混合大小写的env变量,您可以将构建管道中的操作系统切换到Windows,但这更多的是一种解决方法,而不是问题的解决方案。这就是说,处理像botframework这样相对简单的东西时,可以避免重新编码和重新定义所有的env变量。

这是我的本地测试环境(Windows命令行)和构建管道(ubuntu)之间的一个问题。在Windows上,环境变量不区分大小写,但在ubuntu等Linux平台上。我通过yml文件更改了使用windows最新版本而不是ubuntu最新版本的版本,这解决了这个问题。关键在于:

使用Linux env变量命名,而不考虑您的平台所有空格的大写和下划线 如果您的项目中已经有许多混合大小写的env变量,您可以将构建管道中的操作系统切换到Windows,但这更多的是一种解决方法,而不是问题的解决方案。也就是说,处理一些相对简单的东西,比如botframework,应该避免重新编码和重新定义所有的env变量