Travis CI,Rails不在根目录中

时间:2013-06-29 04:22:17

标签: ruby-on-rails ruby continuous-integration travis-ci

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

研究/ my_rails_app

研究根目录有一些帮助脚本和我希望包含在版本控制下的其他东西,但不是Rails应用程序本身的一部分。我希望在Travis CI中使用CI,该项目在Github上托管。我是特拉维斯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)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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 吗?