Ich habe eine Dockerfile, die Jenkins Slave-Knoten mit dem Jenkins Swarm-Plugin spinnt. Ich habe ein Nicht-Root-Benutzer "Jenkins" Setup in diesem Bild. Es gibt nvm-Setup für den Benutzer jenkins. Ich versuche, dieses Docker-Image mit Serverspec zu testen, und ich finde keine Möglichkeit, einen Befehl als Nicht-Root-Benutzer in der Serverspezifikationsdatei auszuführen.Testen von Dockerfile, die auf Nicht-Root-Benutzer mit Serverspec läuft
Dies bestätigt, dass Benutzer jenkins installiert ist:
describe user('jenkins') do
it { should exist }
it { should belong_to_primary_group 'jenkins' }
end
Aber ich kann nicht, diese Arbeit zu machen scheinen:
describe command('whoami') do
let(:sudo_options) { '-u jenkins -i' }
its(:stdout) { should match 'jenkins' }
end
ich sogar so etwas wie dies versucht:
describe command('sudo -u jenkins nvm --version') do
its(:stdout) { should match(/0.33.0/) }
end
Suchen Sie nach Hilfe bei der Arbeit mit Serverspec. Jede Hilfe wird geschätzt.
Was ist die Fehlermeldung? – BMW
@BMW Wenn ich das "whoami" mache, erwarte ich "jenkins", aber ich bekomme die Wurzel zurück. Und in nvm --version erwarte ich "0.33.0", aber ich bekomme zurück "" –