所以,当我在 VSTS 和 azure 部署中摆弄 CI 构建时,这主要是对我来说的。通过各种 github 问题、文档、堆栈问题、随机博客文章、阅读源代码等。我遇到了工具使用的不同环境变量。近日,DOTNET_*
像:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
- 告诉构建代理不要缓存包。由于托管代理无论如何都会转储缓存,因此在文档中的注释中建议这样做以提高性能。 DOTNET_CONFIGURE_AZURE
- 告诉 _WebConfigTransform
目标设置 web.config
的 stdoutlogfile
至 \\?\%home%\LogFiles\stdout
其他人通过azure web应用程序和配置出现:
WEBSITE_NODE_DEFAULT_VERSION
WEBSITE_SITE_NAME
WEBSITE_*
DIAGNOSTICS_AZUREBLOBCONTAINERSASURL
DIAGNOSTICS_*
KUDU_*
和 SCM_*
我已经看到在 web 应用程序下操纵托管环境和 kudu 环境的各个方面 AZURE_*
, 更多 DOTNET_*
,以及其他一些人 我认识到每个前缀都指定了一个描述相关环境变量集的“命名空间”,因此我不太可能找到包含所有这些信息的主位置。
但我的问题是对于这些域中的每一个,在哪里可以找到某种明确的列表,甚至是重要环境变量及其功能的一般列表?
我觉得我理解这些设置和标志的途径是基于随机碰撞的,产生大量热量而几乎没有完成实际工作。我宁愿在答案的非循环,加权,有向图上,知道我的意思吗?即使我只是贪婪地寻找最短路径,这似乎也比在谷歌上搜索不同的问题并偶然发现深埋在 github 存储库或博客文章中的东西要好。有人可以给我一个优势吗?
这样做的背景是,在我升级到 netcore1.1/vs2017/csproj 之后,我的 CI 构建停止转换我的 web.config
stdoutlogfile
azure web 应用程序部署的正确路径,我最终不得不深入研究 websdk 源并通过一些变量替换回溯,以找到目标在哪里确定在为 Azure 配置发布时要使用的环境变量。我希望在 dotnet publish
的文档中找到一些页面带有“这里是可能影响发布命令输出的环境变量”部分,但空手而归。
最佳答案
至少对于应用服务,这里有一个很好的列表 - 有 SCM-*
以及其他一些更侧重于部署的变量。
https://docs.microsoft.com/en-us/azure/app-service/reference-app-settings
可以在此处找到更多 Kudu 特定的
https://github.com/projectkudu/kudu/wiki/Configurable-settings
还有这个小名单 AZURE_
SDK 设计指南中的变量:
https://azure.github.io/azure-sdk/general_azurecore.html#environment-variables
关于msbuild - msbuild、dotnet sdks、azure、kudu等使用的环境变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009477/