将 Azure App Service 应用程序设置传递给 SPA JS 应用程序

Posted

技术标签:

【中文标题】将 Azure App Service 应用程序设置传递给 SPA JS 应用程序【英文标题】:Passing Azure App Service Application Settings to SPA JS-application 【发布时间】:2017-01-24 21:36:34 【问题描述】:

案例:该解决方案由 Azure 应用服务中配置的两个 Web 应用组成。第一个托管后端 API (Asp.Net Core),第二个托管 SPA 前端网站。

在这个项目中,我们决定完全从前端 Web 应用程序中删除应用程序服务器(Kestrel/Node.JS),因为没有真正的需要。应用程序是一个简单的单页应用程序,可以直接从 IIS 托管。该应用程序本身运行良好。但是,现在当我们实施 CI/CD 管道时,我们遇到了一个问题。相同的构建需要在 QA 和生产环境中工作。但是,当没有应用程序服务器和服务器端代码时,我们如何将 API 地址从 Azure App Service 应用程序设置传递到在浏览器中运行的 SPA 应用程序?

我们无法修改持续集成管道 - 构建需要在两种环境中完全相同。但是,理论上我们可以在持续交付管道的末尾添加一个步骤,例如修改 web.config 以传递自定义标头或添加一个静态文件,该文件告诉有问题的环境并从应用程序中读取它,但我不确定这是否是正确的方法。是否有任何我不知道的应用服务扩展或功能允许将变量从 Azure 应用服务传递到浏览器?

【问题讨论】:

【参考方案1】:

我们选择的是读取我们通过部署步骤设置的 json 设置文件。

因此,在您的代码库中,您有一个文件,应用程序始终使用默认的开发设置读取该文件。

在我们的 VSTS 设置中,我们使用“Azure App Service Deploy”任务来部署代码。

在同一任务中,您有一个名为“文件转换和变量替换选项”的部分。 XML 内容仅适用于 web.config,但对于 JSON 变量替换部分,您可以指定文件名。

【讨论】:

刚刚发现这篇文章解释了一些细节blog.bennymichielsen.be/2017/07/27/…

以上是关于将 Azure App Service 应用程序设置传递给 SPA JS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

将 Azure App Service 应用程序设置传递给 SPA JS 应用程序

如何将Azure DevOps中的代码发布到Azure App Service中

Azure App Service 与 Azure Service Fabric [关闭]

移动设备上的 Azure App Service 身份验证问题

如何将Azure DevOps中的代码发布到Azure App Service中

Azure App Service 存在于子目录中时,如何设置其默认文档?