如何在Azure上的不同URL中为每个PR部署React应用程序



我想为每个请求构建并部署一个版本的React应用程序。这里的问题是,我想为每个PR托管一个不同的URL,这样我就可以测试将要合并的内容。

我设法在每个PR上构建和部署,但只在同一个URL上,因为我使用的是同一个应用程序服务,所以我的猜测是,在部署之前,我需要在我的管道上创建一个新的应用程序服务。一旦合并,我就删除这个应用程序服务了,但我不确定这是否可能。

例如,假设我打开了一个PR,然后我想将此构建部署到https://my-react-app-BUILD_NUMBER_HERE.azure.com.br

这可能吗?

您可以为应用程序服务创建插槽。

所以你有了原始的网络应用程序,然后你:

az webapp deployment slot create --name my-react-app
--resource-group some-rg
--slot build-number
--configuration-source qa

好处是:

  • 您不需要为每次部署打开一个新的Web应用程序,因此它是集中的
  • 它的成本效益很高,因为它是同一个网络应用程序,你可以控制每个插槽的百分比以及它获得的流量
  • 通过az webapp deployment slot swap的CI/CD确认PR有效后,您可以轻松切换主插槽(如果你有这样的流量(

完成后,您可以轻松删除它。

最新更新