1

이 내 .gitlab-ci.yml 파일의 일부GitLab CI가 : GitLab 보안 변수를 사용하여 설정 방법 포스트 그레스 이미지에

image: ruby:2.3.1 

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

모든 포스트 그레스 변수

입니다
  • 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 db 이름, 사용자 및 암호를 제거하는 것입니다.

미리 감사드립니다.

추신 : 나는 도커 실행 프로그램을 사용합니다.

답변

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 
관련 문제