2017-09-13 229 views
0

喜詹金斯和AWS宗師的命令執行shell

我已經在網上查找任何可能的解決方案,但沒有得到我的問題的解決方案。我剛剛在一個測試項目下發布了Jenkins執行shell的「eb --version」,但在執行過程中得到了「eb:command not found」。

奇怪的是,如果我通過CLI在Jenkins盒子上發出相同的命令,我得到了很好的迴應。有關修復的任何建議嗎?在此先感謝

回答

0

您的詹金斯設置有一個不同於您登錄的用戶路徑。

解決辦法有兩個:

  1. 添加的路徑在PATH環境變量中的可執行文件。使用where eb找到正確的路徑。然後在Jenkins中,點擊 管理Jenkins - >配置系統,全局屬性。檢查環境變量。設置名稱PATH。設置$PATH:/path/to/eb。然後重新啓動Jenkins。

  2. 使用完全限定路徑調用eb命令。

編輯:添加步驟,在詹金斯更新路徑。

+0

感謝Rodrigo的輸入,但是我的Jenkins在Linux環境下運行。我不確定是什麼改變了,但之前當我從Jenkins執行shell發出「eb --version」時,它會正確迴應。我想在Jenkins上執行「eb --version」命令執行shell(沒有絕對路徑格式),就像我在linux上執行它的方式一樣 –

+0

是的,我明白了。嘗試#2以上。在登錄shell中鍵入'where eb',然後將完整路徑傳遞給命令進行確認。那麼如果這樣做,你可以肯定它是一個路徑問題。然後你可以修復jenkins中的Path。我將嘗試爲Jenkins找到Linux特定路徑更改。 –

+0

另一個確認的測試:創建一個運行shell命令'echo $ PATH'的作業。將該輸出與'where eb'的結果進行比較。應該有一個差異。 –

0

現在已修復,需要創建一個屬性文件,該文件基本上是/var/lib/jenkins/.bash_profile文件的副本,該文件具有正確的路徑並在Jenkins設置中添加該文件。允許它獲得所需的路徑。創建屬性文件後,您需要在Jenkins-Configure部分設置它,在Prepare jobs環境中放置一個檢查,然後在屬性文件路徑中設置屬性文件的完整路徑(/var/lib/jenkins/environment_variables.properties),並重啓Jenkins