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(这是表达逻辑)
- package.json
- 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
从目前主流的观点来看,还是前后台项目完全分离,不要放在一个项目结构中比较好。
我的建议:
您不想创建两个 webapp 服务,您可以在 windows 平台中使用 Virtual Apllications
。您可以通过 github 部署您的快递项目。但是你的 React 项目可能需要选择另一种部署方式,比如 zip
等
截至目前,我还没有看到使用github来部署虚拟应用程序。
下面可以参考我的回答post.
Vue Frontend and Express backend on same Azure web app Service
使用 Azure 中的 Web 应用程序和 Github CI/CD,有没有办法将 Express/React 应用程序部署为一个应用程序,其中部署过程负责构建 client/React代码?这是我的目录设置:
- server.js(这是表达逻辑)
- package.json
- 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
从目前主流的观点来看,还是前后台项目完全分离,不要放在一个项目结构中比较好。
我的建议:
您不想创建两个 webapp 服务,您可以在 windows 平台中使用 Virtual Apllications
。您可以通过 github 部署您的快递项目。但是你的 React 项目可能需要选择另一种部署方式,比如 zip
等
截至目前,我还没有看到使用github来部署虚拟应用程序。
下面可以参考我的回答post.
Vue Frontend and Express backend on same Azure web app Service