2016-10-20 4 views
2

DjangoプロジェクトでTravisCIを設定しようとしています。HerokuでホストされているDjangoプロジェクトのTravis CIをセットアップするには?

私は古典的なパターンは、PostgresデータベースのURLを取得するためのenv VARを使用することであるHerokuの使用しています:私の地元のenvのための.envファイルの

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

settings.pyを今

DJ_DEBUG=True 
DATABASE_URL=postgres://root:[email protected]:5432/captaincook 

、ここに私の.travis.yml confファイルがあります django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

任意のアイデア:

language: python 

python: 
    - 3.5 

addons: 
    - postgresql: "9.5" 

before_install: 
    - export DJ_DEBUG=False 
    - export DABATASE_URL=postgres://[email protected]/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 

プロジェクトは、私がこのDjangoのエラーを得たトラヴィス、上に展開する場合を除いて、どこでも動作します、それはローカルに作成デシベルを使用しようと?ありがとう。

答えて

3

DATABASE_URLの代わりにDABATASE_URLの入力ミスがあります。

しかし、私はむしろ、明示的before_installにエクスポートを使用するよりも、あなたがenv keyを使用する必要があることを疑う:

env: 
    - DJ_DEBUG=False 
    - DATABASE_URL=postgres://[email protected]/travisdb 
+0

おかげで、タイプミスが問題でした! 'env'については、両方の変数が1行に書かれている場合にのみ動作します。それ以外の場合は、それぞれ1つのenv変数を持つ2つのビルドが作成されます。 –

+0

ところで、あなたは3年前に私がDjangoを学び始めたときにそこにいて、3年後に最初に答える人がいました:)あなたは夢中です:) –

+0

'global'の環境変数を入れ子にすると、マトリックスの構築を避けることができます:https://docs.travis-ci.com/user/environment-variables/#Global-Variables –

関連する問題