Jenkins ssh跳板機 設置筆記

    在項目中佈置測試環境,需要用 jenkins的ssh插件通過跳板機訪問到目標主機(圖1)。

嘗試了jump host相關的配置,沒有成功。 之後發現只使用ssh命令就可以做到,把設置過程

以及遇到坑做了個小結,希望能對大家有用。

image.png



1. ssh命令前置知識

其實整個過程中最核心的是 ssh 命令相關知識,可以參考以下鏈接,建議認真的看完。

https://www.cnblogs.com/z-books/p/7453053.html

 

另外這一類符號也需要了解:  $()  `
https://www.cnblogs.com/lidabo/p/6394523.html

 

 

2. jenkins任務中添加ssh插件

image.png

 

 3. ssh插件中編寫腳本

這裏的例子使用單引號的方式,在ssh中執行多個命令,來修改遠端主機上zip_info.csv 中特定字符串。

--------------------------------------------------------------------------------------

ssh 192.168.0.226 '

 

newaddress="http://192.168.0.211/testFile/${foldername}/"

 

cd /home/root/server_test

 

oriaddress=$(awk -F "," '"'"'{if (NR==2){print $4}}'"'"' data/resourcedata/zip_info.csv)

result=$(sed -i "s|$oriaddress|$newaddress|" data/resourcedata/zip_info.csv)

echo $result

 

'

--------------------------------------------------------------------------------------

 

 

注意點:

- ssh 單引號中使用單引號,相應字符串爲: '"'"'

- 如果命令中沒有$() 等符號,使用EOF 也可以,

  例:

--------------------------------------------------------------------------------------

#開始

ssh 192.168.0.226 <<EOF        

 

exit

#結束

EOF            

--------------------------------------------------------------------------------------


    以上是在jenkins中配置通過跳板機在目標主機執行命令的一種方式,另外利用jenkins的配

置構造跳板機的方式我沒有試驗成功(jump host?),查了網上相關資料並不是太多,可能

是太過簡單沒人寫。由於本職工作是碼代碼,這方面不太專業,有更好的做法歡迎一起討論。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章