Настройка postgresql в Travis CI для проекта django

0

Я пытаюсь настроить непрерывную интеграцию для моего проекта django. Поскольку я использую postgresql als мою базу данных, я хочу настроить ее в travis. Это мой файл travis.yml:

language: python
services:
- postgresql
python:
- 3.4
env:
- DJANGO=1.8 DB=postgres
before_install:
- export DJANGO_SETTINGS_MODULE=ledenbestand.settings.local
install:
- pip install -r travis/requirements.txt
before_script:
- psql -c 'create database ledenbestand;' -U postgres
script:
- python manage.py test
notifications:
  email:
    recipients:
      - [email protected]
    on_success: never
    on_failure: always

Проблема в том, что это не удастся, так как мои настройки local.py также дают пароль при подключении к базе данных, пользователь postgres на travis не имеет пароля:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'ledenbestand',
        'USER': 'postgres',
        **'PASSWORD': 'password',**
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

В документации на travis говорится следующее:

Если ваша локальная тестовая установка использует разные учетные данные или настройки для доступа к локальной тестовой базе данных, мы рекомендуем помещать эти параметры в базу данных.yml.travis в вашем репозитории и копировать это как часть вашей сборки:

before_script:
  - cp config/database.yml.travis config/database.yml

Однако я не знаю, как это может работать, как эта строка кода может перезаписать мои настройки local.py?

Теги:
travis-ci

1 ответ

2
Лучший ответ

Исправлено это, добавив оператор If в мой файл конфигурации:

if 'TRAVIS' in os.environ:'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню