【问题标题】:Versioning Azure static websites版本控制 Azure 静态网站
【发布时间】:2020-09-10 07:31:21
【问题描述】:

作为我们发布管道的一部分,我们部署到 Azure blob 存储(静态网站)。因此,每次发布管道运行时,它都会使用创建的新构建工件覆盖 blob 存储的内容,并且我们会看到最新的更改。

对于调试和内部测试,我们要求每次部署而不是覆盖 blob 存储的现有内容,而是创建一个版本。

因此,如果开发人员检查了他们对 master 的更改并生成了新的工件,它将被部署到 https://abc.z22.web.core.windows.net/1。下次将新更改签入到 master 时,它会在 - https://abc.z22.web.core.windows.net/2 创建一个新版本。

最近添加了 blob 存储中的版本控制,但您必须手动进入 blob 存储并将版本标记为当前版本。

有没有办法做到这一点?任何其他 Azure 产品可以帮助解决这个问题?

【问题讨论】:

    标签: azure azure-web-app-service versioning azure-static-web-app


    【解决方案1】:

    好的。看起来您希望所有版本都处于活动状态并在不同的 url 上可用。我认为 azure web 应用程序也不可能。当有新代码推送时,您可能会启动一个新容器并在不同的端口上运行它。但是,您将不得不构建限制容器数量的逻辑,因为您不能无限进行。相当不寻常的要求。或者,您可以使用网络应用程序中的插槽同时提供多个版本,但它会根据您选择的层而受到限制。

    【讨论】:

    • 如果我错了,请纠正我 - 当我从 blob 存储中获取最新版本号然后增加它时,这对实际静态网站 url 的版本控制有何帮助?当我们在 blob 存储中启用静态网站选项时,实际的 url 是硬编码的。我想要一种方法来对该网址进行版本控制。
    • 好的解决了这个问题。面向未来的读者 - 最终基于 Azure devops 管道中配置的 buildId 创建了一个动态文件夹结构。然后,不是为 azure blob 存储做一个静态网站,而是添加了一个 azure 函数,该函数从您传入的任何路径中读取。所以 blob 存储有文件夹,如 - $web(container name) - 1400 - 1401 - 1402 和 azure函数可以通过 abc.azurewebsites.net/1400/index.html 访问它您必须配置 azure 函数以根据路由读取 blob。
    • @Megatron 这是否也适用于例如反应路由? Blob 存储预览和 Azure 静态 Web 应用程序之间的主要区别在于,它支持自定义路由和路径,这在预览 Blob 存储上的应用程序时不可用。如果这适用于路径,您能否详细说明您是如何做到的?
    猜你喜欢
    • 2019-06-09
    • 2017-05-22
    • 2017-03-03
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2012-02-26
    相关资源
    最近更新 更多