【发布时间】:2021-02-17 09:23:17
【问题描述】:
我目前正在做一个项目,我对 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
我错过了什么?
谢谢!
【问题讨论】:
-
我不知道 gitlab CI,但我想你必须正确设置包含 PostgreSQL 服务器实例的容器的 IP 或名称。
标签: node.js postgresql docker sequelize.js gitlab-ci