node.js - 无法从 Gitlab CI/CD 在 AWS RDS 数据库上运行迁移

标签 node.js postgresql gitlab amazon-rds knex.js

我创建了一个 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/

相关文章:

node.js - Sequelize 批量同步什么都不做

node.js - 如何在不重新启动电脑或重新安装此模块的情况下启用/启动 pm2 模块?

javascript - w 和 h 必须是数字

sql - 是否有 postgres CLOSEST 运算符?

sql - PostgreSQL 中具有动态间隔的累计和

ubuntu - 为什么我在尝试仅从我的 Ubuntu 访问 gitlab 时突然得到 ERR_TIMED_OUT?

gitlab - 如何使用变量设置动态 gitlab 作业标签?

node.js - 通过 WebSocket 在远程自治 Node.js 应用程序之间进行全双工消息传递?

ruby-on-rails - 选择具有所有标签的文章(通过 habtm 关系)

linux - 如何将文件传输到主机并将密码传递给它