Azure CI/CD 设置从 Express 服务器构建 + 服务 React 构建目录

Azure CI/CD setup to build + serve React build directory from Express server

使用 Azure 中的 Web 应用程序和 Github CI/CD,有没有办法将 Express/React 应用程序部署为一个应用程序,其中部署过程负责构建 client/React代码?这是我的目录设置:

我有 server.js 设置来提供静态 client/build/index.html 文件。但是,我不确定如何在 CI/CD 中创建该构建目录。我目前只是 运行 npm run build 在本地,然后将构建目录推送到我的存储库,但我更希望部署能够处理 运行 npm run build.

Article 1 in Medium 建议更改服务器根级别的启动脚本,但这不适用于 Azure。

Article 2 from Medium 在本地建议 运行 npm run build,将该目录推送到 CI/CD.

您的预期目标。

Using Web apps in Azure, and Github CI/CD, is there a way to deploy an Express/React app as one application.

我建议你,front-endreact项目和back-endexpress项目,最好完全分开。

原因:

即使两个项目放在同一个目录下,本质上运行时,仍然是运行两个分别的端口

参考教程:

How to create a React frontend and a Node/Express backend and connect them

Building a React app with a Express back-end in the same project with external access to a MySQL database

从目前主流的观点来看,还是前后台项目完全分离,不要放在一个项目结构中比较好。

我的建议:

您不想创建两个 webapp 服务,您可以在 windows 平台中使用 Virtual Apllications。您可以通过 github 部署您的快递项目。但是你的 React 项目可能需要选择另一种部署方式,比如 zip

截至目前,我还没有看到使用github来部署虚拟应用程序。

下面可以参考我的回答post.

Vue Frontend and Express backend on same Azure web app Service