如何为Heroku上托管的Django项目设置Travis CI?

时间:2016-10-20 14:09:02

标签: django heroku travis-ci

我正在尝试在我的Django项目上设置TravisCI。

我正在使用Heroku,其中一个经典模式是使用env var来获取postgres数据库URL:

settings.py

DEBUG = (os.environ['DJ_DEBUG'] == 'True')
import dj_database_url
DATABASES = {'default': dj_database_url.config(conn_max_age=500)}

我本地环境的.env文件示例

DJ_DEBUG=True
DATABASE_URL=postgres://root:captainroot@127.0.0.1:5432/captaincook

现在,这是我的.travis.yml配置文件,尝试使用本地创建的数据库

language: python

python:
  - 3.5

addons:
  - postgresql: "9.5"

before_install:
  - export DJ_DEBUG=False
  - export DABATASE_URL=postgres://postgres@localhost/travisdb

install:
  - pip install -r requirements.txt

before_script:
  - psql -c "CREATE DATABASE travisdb;" -U postgres
  - python captaincook/manage.py migrate --noinput

env:
  - DJANGO=1.9.10

script: python captaincook/manage.py test --keepdb

该项目无处不在,除非部署在travis上,我得到了这个Django错误: django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:5)

你有一个拼写错误:DABATASE_URL而不是DATABASE_URL

但我怀疑,不应在before_install中明确使用导出,而应使用env key

env:
  - DJ_DEBUG=False
  - DATABASE_URL=postgres://postgres@localhost/travisdb