特拉维斯 CI。如何制作使用Faye服务器的通行证?
Travis CI. How to make pass specs which use Faye server?
Private pub gem 需要额外的 Faye 服务器来为消息队列提供服务。它与 rails 服务器并行启动,命令为:rackup private_pub.ru -s thin -E production
为了通过某些规范,也需要此服务器。所以我将它的启动命令包含在 .travis.yml:
language: ruby
services:
- postgresql
- rack
before_script:
- rackup private_pub.ru -s thin -E production
- cp config/database.yml.travis config/database.yml
- psql -c 'create database travis_ci_test;' -U postgres
但在构建过程中此命令引发错误:
0.00s$ rackup private_pub.ru -s thin -E production
/home/travis/build.sh: line 45: rackup: command not found
The command "rackup private_pub.ru -s thin -E production" failed and exited with 127 during .
我做错了什么?
未找到 rackup 命令。你会想要 运行 像这样使用 bundler exec rackup(假设 rack 等在你的 Gemfile 中):
before_script:
- bundle exec rackup private_pub.ru -s thin -E production &
使用 bundle exec 使用 gemfile 中的内容而不是系统中的内容(在这种情况下,它不在系统中,因此您会遇到错误)。这是一个很棒的 link,它解释了更多关于 rack 和 bundle exec 的内容:https://robots.thoughtbot.com/but-i-dont-want-to-bundle-exec
在 Travis 上,您也不需要将机架添加到服务中,只需将其放在您的 Gemfile 中即可。 :)
Private pub gem 需要额外的 Faye 服务器来为消息队列提供服务。它与 rails 服务器并行启动,命令为:rackup private_pub.ru -s thin -E production
为了通过某些规范,也需要此服务器。所以我将它的启动命令包含在 .travis.yml:
language: ruby
services:
- postgresql
- rack
before_script:
- rackup private_pub.ru -s thin -E production
- cp config/database.yml.travis config/database.yml
- psql -c 'create database travis_ci_test;' -U postgres
但在构建过程中此命令引发错误:
0.00s$ rackup private_pub.ru -s thin -E production
/home/travis/build.sh: line 45: rackup: command not found
The command "rackup private_pub.ru -s thin -E production" failed and exited with 127 during .
我做错了什么?
未找到 rackup 命令。你会想要 运行 像这样使用 bundler exec rackup(假设 rack 等在你的 Gemfile 中):
before_script:
- bundle exec rackup private_pub.ru -s thin -E production &
使用 bundle exec 使用 gemfile 中的内容而不是系统中的内容(在这种情况下,它不在系统中,因此您会遇到错误)。这是一个很棒的 link,它解释了更多关于 rack 和 bundle exec 的内容:https://robots.thoughtbot.com/but-i-dont-want-to-bundle-exec
在 Travis 上,您也不需要将机架添加到服务中,只需将其放在您的 Gemfile 中即可。 :)