我创建了一个 CI/CD 管道来自动部署到 AWS Lambda 和 RDS。另外,使用 Knex Migrations 创建迁移,使用 NodeJS 来更新此数据库。因此,CI/CI 管道中的任务之一就是运行迁移。
迁移在我的计算机上完美运行,并且 CI/CD 正在运行所有其他任务,甚至更新 AWS Lambda 上的函数。
问题是迁移无法连接到 RDS,因此失败。我认为这与入站IP地址白名单有关(我的计算机IP已列入白名单),但我不知道在这种情况下使用什么gitlab IP。也尝试过这个High Availability tutorial使用 Gitlab,但不起作用(我做了确切的教程,但在我需要为数据库创建子网的部分失败了)。
如何让这个管道正常运行并迁移数据库?
[编辑]
这是 .gitlab-ci.yml
文件
image: node:8.10
stages:
- migrate
before_script:
- npm install -g knex
- npm install -g pg
migrate:
stage: migrate
only:
- master
script:
- cd ./api && knex migrate:latest --env production
environment: production
最佳答案
这不是一个确定的解决方案,但当我使用 0.0.0.0/0
设置入站 IP 时,一切正常。
关于node.js - 无法从 Gitlab CI/CD 在 AWS RDS 数据库上运行迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987597/