无法通过厨师食谱使用 ssh 协议使用 jenkins cli(手动工作)

Jay*_*y J 5 cookbook chef-infra jenkins jenkins-plugins jenkins-cli

我使用 ssh 作为协议通过 cli 连接到 jenkins。相同的命令在手动运行时有效,但通过我的食谱失败。

server # java -jar /opt/tomcat/webapps/ROOT/WEB-INF/jenkins-cli.jar -s http://localhost:8181/ -ssh -user update -i /home/update/.ssh/id_rsa who-am-i
Feb 16, 2018 11:18:02 AM hudson.cli.SSHCLI$1 verifyServerKey
WARNING: Unknown host key for server:32855
Authenticated as: update
Authorities:
authenticated
Run Code Online (Sandbox Code Playgroud)

厨师食谱配方失败:我在我的食谱中将它作为 bash 命令资源运行。

[2018-02-16T11:27:39+01:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: bash[install jenkins plugins] (sap-bs-jenkins::bs_jenkins line 104) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '255'
---- Begin output of "bash" "/tmp/chef-script20180216-23269-9xs4ow" ----
STDOUT:
STDERR: Feb 16, 2018 11:27:39 AM hudson.cli.SSHCLI sshConnection
WARNING: No header 'X-SSH-Endpoint' returned by Jenkins
---- End output of "bash" "/tmp/chef-script20180216-23269-9xs4ow" ----
Run Code Online (Sandbox Code Playgroud)

Jenkins ssh 端口设置为 random ,并且确实设置了 X-SSH-Endpoint

server # curl -I http://localhost:8181
HTTP/1.1 200 OK
........
X-SSH-Endpoint: server:41228
Run Code Online (Sandbox Code Playgroud)