1. 程式人生 > >jenkins執行shell指令碼

jenkins執行shell指令碼

用過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.