2017-07-17 83 views
0

我試圖從詹金斯與命令「帽生產部署」殼部署紅寶石不適當的ioctl,但將引發一個錯誤:如果我從終端手動執行命令詹金斯殼會因設備

[email protected]'s password:(Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: Inappropriate ioctl for device Errno::ENOTTY: Inappropriate ioctl for device

它執行沒有問題。 我設置了公鑰,以便我可以執行該命令而不需要輸入密碼,並且還可以將部署密鑰添加到GitLab中的項目中。

當我搜索答案時,我發現在大多數情況下,問題在於部署密鑰,但我已將其添加到項目中,並且我可以從終端手動執行該命令,因此問題必須出現在Jenkins貝殼。 它似乎可能會使用終端的一些解釋而不是真實的東西。

有沒有一種方法可以解決這個問題,所以我可以從Jenkins shell執行命令?

+0

似乎沒有設備綁定到連接,因爲它是一個沒有交互的純命令。唯一的方法應該是公鑰。 –

+0

@GeminiKeith但是我在Jenkins服務器上創建了公鑰,並將其添加到生產服務器中。或者你的意思是其他方式? – Rudolfs

+0

您是否正確配置了您的ssh服務器?您可以在沒有密碼的情況下登錄到您的服務器嗎? –

回答

1

我解決了這個問題。我以詹金斯用戶的身份登錄了jenkins服務器,並與他一起創建了公鑰並將其上傳到生產服務器。之後,一切正常。我沒有看到詹金斯有自己的用戶,我不得不與該用戶創建公鑰。