为什么 serverspec 连接到本地主机而不是远程主机
Why does serverspec connect to the localhost instead of the remote host
我的 serverspec 示例,使用 serverspec-init 设置,然后我生成了这个简单的测试文件 ./spec/altspf01/sample_spec.rb
require 'spec_helper'
describe command( '/bin/hostname -s' ) do
its(:stdout) { should match /atlspf01/ }
end
我希望它通过 ssh 连接到远程主机 (atlspf01) 并检查其主机名 (atlspf01)。相反,它连接到本地主机 (ltipc682)。
1) Command "/bin/hostname -s" stdout should match /atlspf01/
Failure/Error: its(:stdout) { should match /atlspf01/ }
expected "ltipc682\n" to match /atlspf01/
Diff:
@@ -1,2 +1,2 @@
-/atlspf01/
+ltipc682
我做错了什么?
此处所有代码:https://gist.github.com/neilhwatson/a3f4a26ad8cf27d62307
Serverspec 的规范应该是 运行 通过 rake
。否则,规范不知道目标主机。
但是,如果您希望通过 rspec
运行 它,您可以使用此解决方法:
env TARGET_HOST='atlspf01' rspec spec/atlspf01/sample_spec.rb
希望对您有所帮助。
我的 serverspec 示例,使用 serverspec-init 设置,然后我生成了这个简单的测试文件 ./spec/altspf01/sample_spec.rb
require 'spec_helper'
describe command( '/bin/hostname -s' ) do
its(:stdout) { should match /atlspf01/ }
end
我希望它通过 ssh 连接到远程主机 (atlspf01) 并检查其主机名 (atlspf01)。相反,它连接到本地主机 (ltipc682)。
1) Command "/bin/hostname -s" stdout should match /atlspf01/
Failure/Error: its(:stdout) { should match /atlspf01/ }
expected "ltipc682\n" to match /atlspf01/
Diff:
@@ -1,2 +1,2 @@
-/atlspf01/
+ltipc682
我做错了什么?
此处所有代码:https://gist.github.com/neilhwatson/a3f4a26ad8cf27d62307
Serverspec 的规范应该是 运行 通过 rake
。否则,规范不知道目标主机。
但是,如果您希望通过 rspec
运行 它,您可以使用此解决方法:
env TARGET_HOST='atlspf01' rspec spec/atlspf01/sample_spec.rb
希望对您有所帮助。