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

时间:2017-01-24 21:36:35

标签: azure iis azure-web-sites single-page-application

案例:该解决方案包含在Azure App Service中配置的两个Web应用程序。第一个是后端API(Asp.Net Core),第二个是SPA前端网站。

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

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

1 个答案:

答案 0 :(得分:2)

我们选择的是读出我们使用部署步骤设置的json设置文件。

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

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

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