【问题标题】:GitLab CI: How to setup postgres image using GitLab secure variablesGitLab CI:如何使用 GitLab 安全变量设置 postgres 图像
【发布时间】:2017-04-08 20:22:12
【问题描述】:

这是我的 .gitlab-ci.yml 文件的一部分

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:我使用 docker 执行器。

【问题讨论】:

    标签: postgresql continuous-integration environment-variables gitlab environment


    【解决方案1】:

    我不是复兴死线的人...但我自己在这个问题上花了几个小时并认为其他人可能会受益...结果很简单。

    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
    

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2020-06-25
      • 2019-08-07
      • 1970-01-01
      • 2023-03-27
      • 2018-06-02
      • 2018-07-25
      • 1970-01-01
      • 2021-07-04
      相关资源
      最近更新 更多