将 Prisma 部署到 Github Actions 无法访问的数据库

use*_*595 9 amazon-web-services node.js webpack prisma cicd

我有一个依赖于 Prisma 模型的 NodeJS 后端,我想将其部署到我的生产数据库中。我的 CI/CD 管道如下所示:Github Actions 使用 webpack 构建代码,将捆绑包上传到 S3,并调用 AWS CodeDeploy。

然后,AWS CodeDeploy 在部署后端的 EC2 服务器上执行脚本,以安装捆绑包并配置所有内容。这些 EC2 服务器是唯一可以访问数据库的服务器,因为数据库不允许任何非来自 EC2 服务器的连接。

这意味着我无法yarn prisma migrate deploy从 Github Actions 执行,因为数据库将不允许此类连接。

在我看来,我有三个选择:

  1. 将 Github Actions 运行者的 IP 地址列入数据库白名单。出于安全原因,我最好不要这样做。
  2. 将我的存储库的完整源代码下载到 EC2 服务器,然后yarn install运行yarn prisma migrate deploy​​. 出于安全原因不想这样做,它会在部署中引入额外的风险,并且会减慢部署速度。
  3. 以某种方式将命令与迁移文件编译yarn prisma migrate deploy成捆绑包prisma,并在 EC2 服务器上执行。

你有什么建议?从上面的选项中,我更喜欢选项 3,但我还没有找到方法,因为我只找到了编译 prisma 客户端的方法,但我认为这不是我想要的。

先感谢您!