CI/CD конвейер для отказа Django

Мой gitlab ci pipeline продолжает давать сбои. Похоже, я застрял здесь. Я все еще новичок в CI, поэтому не знаю, что я делаю неправильно. Любая помощь будет оценена по достоинству Ниже приведен файл .gitlab-ci.yml

image: python:latest

services:
  - postgres:latest

variables:
  POSTGRES_DB: projectdb

# This folder is cached between builds
# http://docs.gitlab.com/ee/ci/yaml/README.html#cache
cache:
  paths:
    - ~/.cache/pip/

before_script:
  - python -V

build:
  stage: build
  script:
  - pip install -r requirements.txt
  - python manage.py migrate
  only:
    - EC-30

В моем файле settings.py есть следующие настройки

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'thorprojectdb',
    }
}

Но когда я отправляю на gitlab, процесс сборки не завершается. Процесс - pip install -r requirements.txt выполняется отлично, но когда он доходит до - python manage.py migrate, происходит сбой. Ниже приведена ошибка, которую я получаю

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"?
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

Анализируя описание файла .gitlab-ci.yml, ясно, что вы объявили базу данных в файле (POSTGRES_DB), но вам не хватает информации, связанной с учетными данными, DB_USER, DB_PASS, как описано по этой ссылке ниже:

gitlab-config-postgres

Помните, что хорошей практикой является использование раздела объявления переменных в CI/CD в вашем репозитории. Для дополнительной информации:

ci-cd-gitlab-variables

Репозиторий с примером конфигурации:

repository-example-gitlab-postgres

services:
  - postgres

variables:
  # Configure postgres service (https://hub.docker.com/_/postgres/)
  POSTGRES_DB: custom_db
  POSTGRES_USER: custom_user
  POSTGRES_PASSWORD: custom_pass

connect:
  image: postgres
  script:
  # official way to provide password to psql: http://www.postgresql.org/docs/9.3/static/libpq-envars.html
  - export PGPASSWORD=$POSTGRES_PASSWORD
  - psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "SELECT 'OK' AS status;"
Вернуться на верх