1

これは私の.gitlab-ci.ymlファイルの一部GitLab CIは:GitLabセキュアな変数を使用して、どのようにセットアップPostgresの画像に

image: ruby:2.3.1 

services: 
    - postgres:latest 
    - mysql:latest 
... 
variables: 
    MYSQL_RANDOM_ROOT_PASSWORD: "1" 
... 

すべてのPostgresの変数

ある
  • POSTGRES_DB
  • POSTGRES_USER
  • POSTGRES_PASSWORD

はGitLabセキュア変数として指定されています。パイプラインを実行すると、私は次のエラーを取得するときしかし:

ActiveRecord::NoDatabaseError: FATAL: role "runner" does not exist 

私は.gitlab-ci.ymlすべてでvariablesセクションを通じて、これらの変数を設定した場合は正常に動作します。

だから、GitLabを介して設定する際の安全な変数が正しく設定されていないとPostgresの画像は、それらを使用していない、これらの変数のように思えます。

私の目標は、.gitlab-ci.ymlでvariablesセクションからPostgresのデータベース名、ユーザー名とパスワードを削除することです。

ご協力いただきありがとうございます。

PS:ドッカーエグゼキュータを使用しています。

答えて

0

私は死んでスレッドを復活させるものではないよ...しかし、私はこの問題について自分自身を数時間を過ごしたし、他の誰かが恩恵を受けるかもしれない...それは簡単だったが判明把握。

Gitlab-CIは、空白のユーザ名を好きではないので、私は明示的に設定する必要がありました:

gitlab-ci.yml

services: 
    - postgres:latest 

variables: 
    POSTGRES_DB: test 
    POSTGRES_USER: user 
    POSTGRES_PASSWORD: "" 

config/database.yml

test: 
    host: postgres 
    user: user 
    database: test 
関連する問題