ruby-on-rails - gitlab-ci 找不到 config/database.yml,尽管它不应该存在于我的仓库中
问题描述
我正在尝试为我的 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”,也不应该存在。它是在 gitignore 中添加的
我的仓库中只存在默认值config/database.example.yml
。而且它不包含我的数据库的真实凭据。
我该如何解决?
解决方案
您有 2 个选择:
放置该脚本以复制
.example.yml
到database.yml
并使用环境变量来设置配置:例如:production: username: <%= ENV['DB_USERNAME'] %> host: <%= ENV['DB_HOST'] %> etc...
创建一个脚本以使用硬编码或来自环境的数据为您生成此文件,然后调用
gitlab-ci.yml
.
推荐阅读
- jquery - jQuery 函数不是函数 - 如何?
- stripe-payments - Gravity Form Stripe 试用 + 安装费
- symfony - Homestead 没有加载页面(symfony)
- asp.net - 如何隐藏包含查询字符串的实际网址?
- java - Kafka Stream 如何使用 KTable#Suppress 发送最终聚合?
- html - 弹性容器内的粘性条
- android - AWSAppSyncClient 未检测到 graphql 查询
- python-3.x - 通过提供目录和部分文件名以及扩展名来列出文件
- c# - 如何在 SshClient 上添加不同的端口?
- reactjs - 如何从 NextJS / ReactJS 中的 JWT cookie 获取用户信息