0

我有一个 Rails 项目设置,其目录结构如下:

研究/my_rails_app

研究根目录有一些帮助脚本和其他我希望包含在版本控制下的东西,但不是 Rails 应用程序本身的一部分。我想与 Travis CI 一起使用 CI,并且该项目托管在 Github 上。我是 Travis CI 的新手,所以如果这是一个愚蠢的问题……请耐心等待。我的 .travis.yml 文件如下:

language: ruby
rvm:
  - 1.9.3
script: bundle rake rspec twitter_analysis/spec
services: 
  -mongodb
before_script:
  - psql -c 'create database test-postgres_production;' -U test-postgres
gemfile:
  - /twitter_analysis/Gemfile

Travis 尝试构建时的错误消息是:

The command "psql -c 'create database test-postgres_production;' -U test-postgres" failed and exited with 2 during before_script.

另一个是:

-mongodb: unrecognized service

rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

我应该如何解决这个问题?

4

1 回答 1

2

我将尝试解决您应该一次更改一个错误的问题。

一个错误

The command "psql -c 'create database test-postgres_production;' -U test-postgres" failed and exited with 2 during before_script.

让我们添加以下内容以获取在 Travis CI 上运行的 postgres 数据库:

env:
  - DB=postgresql
script:
  - bundle exec rake db:migrate
  - bundle exec rake db:test:prepare
  - bundle exec rake spec
before_script:
  - bundle exec rake db:create RAILS_ENV=test

现在我们正在运行 rake tast 来创建数据库,您应该能够删除您当前拥有的内容before_script:

现在是第二个错误

-mongodb: unrecognized service

我认为你只需要一个空格,mongodb就像这样:

services: 
  - mongodb

第三个也是最后一个错误

rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

我自己以前没有遇到过这种情况,但是我听说当您的 .travis.yml 无法解析时会发生这种情况。仔细检查它是否是有效的 YAML 文件,拼写正确且位置正确。你能确认它在应用程序的根目录中并命名为.travis.yml吗?

于 2013-06-29T07:21:28.433 回答