【问题标题】:Insert an Azure Slot Setting into a Javascript File将 Azure 插槽设置插入 Javascript 文件
【发布时间】:2017-03-22 11:46:30
【问题描述】:

有没有可能在deploy.cmd 中更改文件内容的方法?是所有的内容,还是搜索和替换,或者 Grep,或者任何东西?

我需要一种方法来根据 Azure 中的插槽设置更改 javascript 文件中的环境变量。

或者,换一种说法:我想在 Azure 插槽中设置插槽设置,并将其插入到 javascript 文件中。

【问题讨论】:

  • 这听起来像是你在尝试做一些不应该做的事情。你能再解释一下吗?你是说你在 azure 门户中有一个 Slot 设置并且你想在你的代码中读取它?
  • @RAS 我目前没有做或尝试做任何事情。因此,这不可能是“不应该这样做的方式”。我在问如何做到这一点。是的,我正在尝试在不同的环境插槽中使用插槽设置,以便我的应用程序在不同的环境中具有不同的设置。我想尽可能地在 Azure 中使用它,而不是使用 Octopus 等其他工具。

标签: azure continuous-deployment


【解决方案1】:

不知道为什么要在运行时而不是在构建和部署期间注入这些值。但这里有一些可能的解决方案:

  1. Azure 应用服务插槽设置作为环境变量公开,您的 javascript 可以将 ajax 调用回服务器到您开发的 API,该 API 可以返回这些环境变量的值。

  2. 在将 JS 文件动态提供给客户端(并可能缓存它)之前,从应用后端注入值,在这种情况下,您必须拦截对该文件的请求并提供修改后的版本。

  3. 向您的网站添加一个 json 文件,我们将其命名为 config.json,并根据您的要求更改每个插槽的内容。然后,您的 JavaScript 应用可以通过向 /config.json 发出 AJAX GET 来读取该文件,该文件将代表插槽配置。

【讨论】:

  • 谢谢。这两种选择。问题是:我试图更改/注入 javascript 的确切内容是指向哪个 API 以从中提取设置的 URL。该 URL 不是与运行页面的 URL 相同的 URL。此外,该网站只是 HTML。不是 asp.net、coldfusion、php 或任何其他动态后端语言。
  • 唯一的其他选择是在构建或部署过程中注入此值。您使用任何 CI/CD 工具吗?
  • 另外,我根本不想在运行时这样做。我的帖子的全部要点和描述是在 deploy.cmd 部署阶段进行。但我愿意接受任何(天蓝色)方式将这些设置从 Azure 读取到我的 javascript 中。我尽量不提出 Octopus Deploy,因为在考虑引入另一个工具之前,我会尽量保持纯粹。
  • 另一个选项可能是将静态 JSON 文件上传到您的应用服务,其中包含配置值并从您的 JavaScript 加载它
  • 如果您指的是应用服务,例如 Javascript“服务”,那么这将需要我解析 URL 以确定要使用的 JSON。解析 URL 听起来很脏。如果您的意思是一些 RESTful API,那么这不起作用,因为我不知道 URL。那个 URL 就是我要注入的东西。
猜你喜欢
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2018-11-05
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多