在Jenkins中配置執行遠端shell命令
阿新 • • 發佈:2018-12-24
用過Jenkins的都知道,在Build配置那裡有一個Add buld step, 有這樣兩個選項:
1. Execute Windows batch command
2. Execute shell
第1個是執行windows命令,第2個是執行shell指令碼。
一開始我以為不管jenkins安裝在windows下還是linux下都可以執行windows命令和linux命令,但是後來我發現在windows中,是可以執行第1個的,但是用第2個選項執行shell會失敗,會報錯說不能執行sh。
我想第2個Execute shell應該只可以在linux中使用吧。
那我如果想在這裡遠端登入到linux伺服器並執行相應的shell指令碼怎麼辦呢?
經過研究我發現了一個外掛Jenkins SSH plugin.
安裝了這個外掛後,我們進入系統的配置管理會發現多了一項
配置好這裡後儲存,這裡即可以輸入使用者名稱密碼,也可以使用key檔案來免密碼登入。
接下來新建一個job,在job配置裡面會發現多了一個選項
這裡的SSH site選擇我們剛剛在系統配置裡面建立的連線。
下面就可以寫指令碼或者是執行伺服器上的指令碼了。
這裡還碰到了一個問題,我用Xshell遠端登入到伺服器,直接可以執行我的一個指令碼,這個腳本里有一些命令是在PATH路徑下的。
但是在Jenkins裡面直接執行指令碼卻報錯了,說是找不到這些命令,最後我在執行指令碼前先export PATH = /home/....
把PATH設定了一下,結果就執行成功了,不知道為什麼 jenkins遠端登入預設讀不到PATH.