`rake jasmine:ci`适用于c9,但运行rake jasmine会导致端口和IP问题

时间:2015-08-10 03:00:22

标签: ruby-on-rails jasmine rake cloud9-ide

rake jasmine:ci适用于c9,但运行rake jasmine似乎不起作用(终点上没有任何内容),即使配置调整如此:

Jasmine.configure do |config|
  config.server_port = ENV['PORT']
  config.host = "http://#{ENV['IP']}"
end

(我也试过config.host = ENV ['IP'])

c9不再抱怨我们在配置更新的错误端口和IP上,但是在c9端点没有运行应用程序并且rake jasmine的输出看起来是正确的:

tansaku@saasbook-ruby:~/workspace/myrottenpotatoes (master) $ rake jasmine
your server is running here: http://localhost:8080/
your tests are here:         /home/ubuntu/workspace/myrottenpotatoes/spec/javascripts
your source files are here:  /home/ubuntu/workspace/myrottenpotatoes

[2015-08-10 02:41:06] INFO  WEBrick 1.3.1
[2015-08-10 02:41:06] INFO  ruby 2.2.1 (2015-02-26) [x86_64-linux]
[2015-08-10 02:41:06] INFO  WEBrick::HTTPServer#start: pid=7713 port=8080

(我得到“似乎没有应用程序在这里运行!”)相反,同一个实例中的rails应用程序工作正常......

我想知道茉莉花在呈现阻止c9端点工作的端点方面是否有某些功能;虽然我不能立即明白为什么它不会,因为c9设置为同时提供rails和ruby应用程序......

2 个答案:

答案 0 :(得分:2)

啊,找到了解决办法。我们需要在jasmine.yml中设置机架选项:

rack_options:
  Host: '0.0.0.0'

现在可行了

答案 1 :(得分:1)

您的服务器应该在0.0.0.0:8080运行,以便可以从外部访问。我不确定为什么用ENV [“IP”]覆盖config.host仍然会给你“http://localhost”,因为在你的终端上运行echo $IP应该在托管上给出结果0.0.0.0 Cloud9工作区。请继续使用config.host = "http://0.0.0.0"config.host = "0.0.0.0"再试一次。