2017-02-11 3 views
4

私はTravis CIでカスタムPostgresの認証情報を設定しようとしています。テストするコードに既存の認証情報の定義を避けたいのです。私.travis.ymlに次のカスタムDB証明書を使用してTravis CIとpostgresqlをセットアップするには?

postgresql: &postgresql 
adapter: postgresql 
username: foo 
password: bar 
database: testing_db 

...、コメントを追加しました:私はそのためdatabase.travis.ymlファイルを作成しました

'sqlalchemy.url': 'postgresql://foo:[email protected]/testing_db' 

テストコードは、データベースが上でアクセスされるべきであると定義しています。

services: 
    - postgresql 

before_script: 
    - psql -c 'create database stalker_test;' -U postgres 
    - mkdir config && cp database.travis.yml config/database.yml 

しかし、私はまだテスト:

OperationalError: (psycopg2.OperationalError) FATAL: role "foo" does not exist 

私は間違っていますか?

+0

Railsを使用していますか? –

+0

@HoriaComanいいえ、私はPythonを使用しています。 – fredrik

答えて

5

.travis.ymlに以下を追加すると、私の問題が解決しました。 database.travis.ymlファイルは不要です。

before_script: 
    - psql -c "CREATE DATABASE testing_db;" -U postgres 
    - psql -c "CREATE USER foo WITH PASSWORD 'bar';" -U postgres 
0

Database.ymlはRuby On Railsのようです。トラヴィスのCIは、レール/ルビーのテストで始まったので、docsはそれを反映しているかもしれません。

ほとんどの場合、別のスクリプトや移行設定でセットアップを行い、サービスの実行以外はtravisに依存しないでください。

関連する問題