我在让GitLab的CI与我的Django项目一起工作时遇到了问题。我正在使用postgres服务器,似乎我设置了一些错误。任何帮助将非常感激!
错误:
django.db.utils.OperationalError: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我的.gitlab-ci.yml文件:
image: python:3.6.1
services:
- postgres:9.3
variables:
POSTGRES_DB: project_ci_test
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ""
test:
script:
- export DATABASE_URL=postgres://postgres:@postgres:5432/project_ci_test
- apt-get update -qy
- apt-get install -y python-dev python-pip
- pip install -r requirements.txt
- python manage.py makemigrations
- python manage.py migrate
- python manage.py test Project
在我的django设置文件中:
DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.postgresql_psycopg2',
'NAME' : 'project_ci_test',
'USER' : 'postgres',
'PASSWORD': '',
}
}
我目前正在尝试使用GitLab的共享运行者。我希望有人成功获得了一个带有postgres的Django项目来处理GitLab的CI。
谢谢!
终于找到了问题所在。在我的Django项目的设置文件中指定主机和端口解决了这个问题!
DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.postgresql_psycopg2',
'NAME' : 'project_ci_test',
'USER' : 'postgres',
'PASSWORD': '',
'HOST' : 'postgres'
'PORT' : '5432'
}
}