在Jenkins中配置執行遠程shell命令


在Jenkins中配置執行遠程shell命令

演示:a、47.22.33.102啟動ssh,配置47.22.33.159公私,支持47.22.33.159通過ssh訪問47.22.33.102b、通過jenkins遠程執行shell腳本,打印hello字符串。

1、Jenkins插件Publish over SSH安裝

打開Jenkins的“系統管理>插件管理”,選擇“可選插件”,在輸入框中輸入“Publish over SSH”進行搜索,如果搜索不到可以在“已安裝”裡確認是否已經安裝過。在搜索結果中選中“Publish over SSH”,點擊頁面的“直接安裝”按鈕,系統會自動安裝,此插件安裝後不需要重啟Jenkins。如果插件安裝成功在“系統管理>系統設置”會出現相關配置項。

在Jenkins中配置執行遠程shell命令

2、插件配置

插件安裝成功後使用前需要在“系統管理>系統設置”中進行配置,處如圖:

在Jenkins中配置執行遠程shell命令

Passphrase:SSH的密碼使用用戶名/密碼登錄時為用戶名的密碼,使用私鑰登錄時為私鑰的密碼。

Path to key:SSH私鑰的文件路徑私鑰文件的路徑,可以是絕對路徑,也可以是相對$JENKINS_HOME的相對路徑

Key:私鑰私鑰導出後的文本內容

如果“Key”和“Path to key”都設置,則“Key”的優先級較高,私鑰的密碼是“Passphrase”中設置的內容。

注意:私鑰指的是47.22.33.159的私鑰,安裝Jenkins的服務器。

Disable exec:禁止在目標機上執行命令勾選後將會忽略在Job配置中“Exec command”選項中設置的命令。Jenkins的說明文檔中的“The Disable exec in the advanced settings for individual configurations will be ignored.”沒有完全理解,從實際效果來看,只要“Disable exec”被勾選後,不管SSH Server中是否勾選“Disable exec”,Job中設置的命令都將補忽略。

Test Configuration:測試配置是否成功,界面出現"Success"表示配置成功

SSH Server 配置

NameSSH節點配置的名稱,在Job中使用Publish over SSH插件時,此名稱將出現在“SSH Server”中“Name”的下拉列表中,如下圖:

在Jenkins中配置執行遠程shell命令

Hostname

通過SSH連接到的機器的主機名或IP

UsernameSSH

服務使用的用戶名,使用key進行連接時為key指定的用戶名

Remote Derictory

運程機器上真實存在的目錄,並且“Username”指定的用戶要有訪問此目錄的權限,插件將把文件傳送到此目錄下。

3、在Jenkins中配置構建

點擊”構建“選項,在“增加構建步驟”裡選擇“Send files or execute commands over SSH”,即可以Job中使用Publish over SSH插件,配置如下圖:

在Jenkins中配置執行遠程shell命令

參數說明

Name

“系統管理>系統設置”設置的SSH Sverver的名字列表。

Source files允許為空,複製到運程機上的文件,相對workspace的路徑,也支持表達式,如上圖中的“**/*.war”。

Remove prefix

允許為空,文件複製時要過濾的目錄,如上圖中的target目錄。

Remote directory

允許為空,文件得到到遠程機上的目錄,此目錄是相對於“SSH Server”中的“Remote directory”的,如果不存在將會自動創建。

Exec command

在這裡可以填寫在運程機器上執行的腳本,如:觸發aa.sh腳本打印hello。

4、查詢效果點擊"立即構建",查看日誌如圖:

在Jenkins中配置執行遠程shell命令


分享到:


相關文章: