ERROR: connect ECONNREFUSED 127.0.0.1:5432 on Gitlab CI
ERROR: connect ECONNREFUSED 127.0.0.1:5432 on Gitlab CI
我目前正在做一个项目,我对 Gitlab CI 有一个大问题。有两个使用 docker-compose
构建的容器,一个是 API,另一个是 PostgreSQL 数据库。
这是我的 gitlab-ci.yml :
image: node:lastest
variables:
POSTGRES_DB: test
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_HOST_AUTH_METHOD: trust
NODE_ENV: test
services:
- postgres:12.2-alpine
stages:
- test
eslint:
stage: test
image: node:12.18.2-alpine3.9
before_script:
- npm install
script:
- npm run linter
except:
- develop
audit:
stage: test
image: node:12.18.2-alpine3.9
before_script:
- npm install
- npm install -g sequelize-cli
- npx sequelize-cli db:create
script:
- npm test
allow_failure: false
except:
- develop
所以,我得到了这个错误:
$ npx sequelize-cli db:create
Sequelize CLI [Node: 12.18.2, CLI: 6.2.0, ORM: 6.3.5]
Loaded configuration file "config/database.js".
Using environment "development".
ERROR: connect ECONNREFUSED 127.0.0.1:5432
Cleaning up file based variables
00:01
ERROR: Job failed: exit code 1
我错过了什么?
谢谢!
您的 npm 命令似乎没有使用变量部分中的 POSTGRES_HOST。相反,它在连接到 postgres 时使用 127.0.0.1 并失败,因为您的服务不是 运行 本地。解决这个问题,它应该在 postgres
.
可用
主要问题应该在您的 config/database.js
文件中。
检查此文件中的主机是否为 postgres
而不是 127.0.0.1
我目前正在做一个项目,我对 Gitlab CI 有一个大问题。有两个使用 docker-compose
构建的容器,一个是 API,另一个是 PostgreSQL 数据库。
这是我的 gitlab-ci.yml :
image: node:lastest
variables:
POSTGRES_DB: test
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_HOST_AUTH_METHOD: trust
NODE_ENV: test
services:
- postgres:12.2-alpine
stages:
- test
eslint:
stage: test
image: node:12.18.2-alpine3.9
before_script:
- npm install
script:
- npm run linter
except:
- develop
audit:
stage: test
image: node:12.18.2-alpine3.9
before_script:
- npm install
- npm install -g sequelize-cli
- npx sequelize-cli db:create
script:
- npm test
allow_failure: false
except:
- develop
所以,我得到了这个错误:
$ npx sequelize-cli db:create
Sequelize CLI [Node: 12.18.2, CLI: 6.2.0, ORM: 6.3.5]
Loaded configuration file "config/database.js".
Using environment "development".
ERROR: connect ECONNREFUSED 127.0.0.1:5432
Cleaning up file based variables
00:01
ERROR: Job failed: exit code 1
我错过了什么?
谢谢!
您的 npm 命令似乎没有使用变量部分中的 POSTGRES_HOST。相反,它在连接到 postgres 时使用 127.0.0.1 并失败,因为您的服务不是 运行 本地。解决这个问题,它应该在 postgres
.
主要问题应该在您的 config/database.js
文件中。
检查此文件中的主机是否为 postgres
而不是 127.0.0.1