如何使用AWS Amplify部署GitHub仓库中的Nodejs后端
AWS Amplify 部署同仓库React+Node.js项目说明
核心结论
AWS Amplify 支持直接拉取GitHub同仓库内的Node.js后端代码,采用和前端部署完全一致的自动化流程完成全栈部署,无需额外单独执行AWS CLI部署操作。
具体说明
- 你之前仅能完成React前端部署,是因为初始配置时只启用了Amplify的静态站点托管能力,Node.js后端可通过Amplify原生的全栈计算托管能力实现同流程部署,前后端代码无需拆分到不同仓库。
- 部署触发逻辑和前端完全一致:关联GitHub对应仓库和分支后,只要向目标分支推送代码,Amplify会自动拉取最新全量代码,按配置依次完成前端静态资源构建、Node.js服务构建部署,全程无需手动触发额外操作。
- 部署完成后,后端服务会自动分配HTTPS访问域名,支持和前端配置同域路由转发,默认不会产生跨域问题。
配置方式
你只需要在项目根目录添加amplify.yml构建配置文件,分别声明前端、后端的构建路径、命令和启动规则即可,基础配置示例如下:
version: 1 frontend: phases: preBuild: commands: # 进入前端目录安装依赖,按你的实际目录结构调整即可 - cd client && npm install build: commands: - npm run build artifacts: # 前端构建产物输出目录,按实际项目调整 baseDirectory: client/build files: - '**/*' backend: phases: preBuild: commands: # 进入后端目录安装依赖 - cd server && npm install build: commands: # 如有后端构建步骤执行对应命令,纯JS项目可省略该段 - npm run build artifacts: baseDirectory: server files: - '**/*' # 后端服务启动命令 run: command: npm start
注意:如果你的Node.js后端是通过Amplify CLI初始化的API、Lambda类资源,只要将项目下的
amplify配置目录一并提交到GitHub仓库,Amplify构建时会自动识别并完成对应云资源的更新,无需手动编写上述后端配置段。
常见误区说明
你检索到的需要通过AWS CLI单独部署后端的方案,均针对后端需要部署到EC2、独立ECS集群、自建Lambda函数等非Amplify托管的场景,如果你的后端不需要部署到Amplify体系外的AWS服务,完全不需要单独执行CLI部署操作。
内容的提问来源于stack exchange,提问作者yaros
相关产品推荐
相关产品推荐

