AWS Amplify Fullstack CI/CD 中断 API(cors 问题)

AWS Amplify Fullstack CI/CD breaks API (cors issues)

我有一个使用 AWS REST Express lambda function API 的 Amplify 应用程序。它连接到 CI/CD,所以每当我推送到我的分支(接受 PR)时,应用程序的前端和后端服务都会被构建和部署。

此时,每当我接受 PR/推送代码时,应用程序 API 将停止工作。然后我必须获取我的本地代码,修改 API 的 app.js 文件并进行虚拟推送。我刚刚推送的相同代码(减去无用的注释),然后本地计算机和部署的 URL 上的应用程序再次开始工作。前端 build/deploy 工作正常 - 只是后端 build/deploy 导致 API 仅 return CORS 错误。

我的问题是如何修复我的 CI/CD,这样我就不需要在本地进行额外的部署。

一些额外的说明 - 这是一个 React 应用程序,在不同的 AWS 账户上部署了多个环境。

事实证明,为 CLI 推送和 CI/CD 部署部署的 API 堆栈存在差异。

解决方案是将我的 CI/CD Build Image 设置为与我的本地版本具有相同的 Amplify CLI。

这样做:

  1. 运行 amplify --version 在本地获取要复制到 Amplify 控制台的版本
  2. 复制 Amplify 控制台 > 构建设置 > 构建映像设置 > Amplify CLI 中的值