Ruby on rails gitlab ci可以';找不到config/database.yml,尽管它是';我的回购协议中不应该有

Ruby on rails gitlab ci可以';找不到config/database.yml,尽管它是';我的回购协议中不应该有,ruby-on-rails,ruby,git,continuous-integration,gitlab,Ruby On Rails,Ruby,Git,Continuous Integration,Gitlab,我正在尝试为我的Rails项目创建gitlab ci文件 这是我的.gitlab-ci.yml的一部分: before_script: - apt-get update -qq && apt-get install -yqq nodejs libmysqlclient-dev - ruby -v - which ruby - gem install bundler --no-ri --no-rdoc - bundle install --jobs $(npro

我正在尝试为我的Rails项目创建gitlab ci文件

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

before_script:
  - apt-get update -qq && apt-get install -yqq nodejs libmysqlclient-dev
  - ruby -v
  - which ruby
  - gem install bundler --no-ri --no-rdoc
  - bundle install --jobs $(nproc) "${FLAGS[@]}"
  - bundle exec rake db:create db:schema:load
  - bundle exec rake db:migrate --quiet
错误是:

Could not load database configuration. No such file - ["config/database.yml"]
在我的本地计算机和服务器上,存在config/database.yml文件

“config/database.yml”在repo中不存在,也不应该存在。它是在gitignore中添加的

我的repo中只存在默认的
config/database.example.yml
。而且它不包含我的数据库的真实凭据。


如何修复它?

您有两种选择:

  • 使用该脚本将
    .example.yml
    复制到
    数据库.yml
    ,并使用环境变量设置配置: e、 g:

    生产:
    用户名:
    主持人:
    等
    
  • 创建一个脚本,使用硬编码的数据或从环境中生成此文件,并调用
    gitlab ci.yml


  • 什么环境。如果它在gitlab上执行,它会读入#1中的变量吗?如何使用db凭据在gitlab上创建环境变量?文档是您的密友!享受:D
    production:
          username: <%= ENV['DB_USERNAME'] %>
          host: <%= ENV['DB_HOST'] %>
          etc...