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