簡體   English   中英

錯誤:在 Gitlab CI 上連接 ECONNREFUSED 127.0.0.1:5432

[英]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

我錯過了什么?

謝謝 !

主要問題應該在你的config/database.js文件中。

檢查此文件中的主機是否為postgres而不是127.0.0.1

看起來你的 npm 命令沒有在變量部分使用 POSTGRES_HOST 。 相反,它在連接到 postgres 時使用 127.0.0.1 並失敗,因為您的服務未在本地運行。 解決這個問題,它應該在postgres上可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM