【发布时间】:2017-02-16 00:42:22
【问题描述】:
我有一个 Dockerfile,它使用 Jenkins Swarm 插件启动 Jenkins 从节点。我在这张图片中有一个非 root 用户“jenkins”设置。 jenkins 用户有 nvm 设置。我正在尝试使用 serverspec 测试此 Docker 映像,但我似乎找不到在服务器规范文件中以非 root 用户身份运行命令的方法。
这确认用户 jenkins 已安装:
describe user('jenkins') do
it { should exist }
it { should belong_to_primary_group 'jenkins' }
end
但我似乎无法完成这项工作:
describe command('whoami') do
let(:sudo_options) { '-u jenkins -i' }
its(:stdout) { should match 'jenkins' }
end
我什至尝试过这样的事情:
describe command('sudo -u jenkins nvm --version') do
its(:stdout) { should match(/0.33.0/) }
end
寻求帮助以使这项工作与 serverspec 一起工作。任何帮助将不胜感激。
【问题讨论】:
-
错误信息是什么?
-
@BMW 当我做“whoami”时,我期待“jenkins”,但我又找回了根。在 nvm --version 我期望“0.33.0”但我回来了“”
标签: docker rspec dockerfile sudo serverspec