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

配置
打開Jenkins的“系統管理>系統管理

參數說明
- Passphrase:SSH的密碼
使用用戶名/密碼登錄時為用戶名的密碼,使用私鑰登錄時為私鑰的密碼。 - Path to key:SSH私鑰的文件路徑
私鑰文件的路徑,可以是絕對路徑,也可以是相對$JENKINS_HOME的相對路徑 - Key:私鑰
私鑰導出后的文本內容
如果“Key”和“Path to key”都設置,則“Key”的優先級較高,私鑰的密碼是“Passphrase”中設置的內容。
- 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中設置的命令都將補忽略。
SSH Servers
SSH Server配置為Publish Over SSH中運程機的配置,分“基本設置”和“高級設置”兩部分;“基本設置”主要是運程機IP、SSH用戶名、SSH端口、連接超時時間等,“高級設置”和大部分“全局設置”中的選項相同。Job中使用的每一個運程機都要在這里進行配置
- Name
SSH節點配置的名稱,在Job中使用Publish over SSH插件時,此名稱將出現在“SSH Server”中“Name”的下拉列表中,如下圖: [圖片上傳中...(image-fe9240-1523170131387-0)] - Hostname
通過SSH連接到的機器的主機名或IP - Username
SSH服務使用的用戶名,使用key進行連接時為key指定的用戶名 - Remote Derictory
運程機器上真實存在的目錄,並且“Username”指定的用戶要有訪問此目錄的權限,插件將把文件傳送到此目錄下。

新建任務

- 源碼

- 配置
clean package -Dmaven.test.skip=true

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

參數說明
Name
“系統管理>系統設置”設置的SSH Sverver的名字列表。
Source files
復制到運程機上的文件,運行表達式,如上圖中的target/.war,“/.war”。
Remove prefix
文件復制時要過濾的目錄,如上圖中的target目錄。
Remote directory
文件得到到遠程機上的目錄,此目錄是相對於“SSH Server”中的“Remote directory”的,如果不存在將會自動創建。
Exec command
在這里可以填寫在運程機器上執行的腳本,如:應用部署腳本
cd /jekins/data/mweb
today=$(date +%Y%m%d%H%M)
tar -cvzf /jekins/back/mweb_$today.tar.gz mweb
sudo rm -rf /usr/local/tomcat7-1/webapps/mweb*
\cp -rf mweb.war /usr/local/tomcat7-1/webapps/
sudo systemctl restart tomcat7-1

-
訪問
image.png
作者:AmeeLove
鏈接:https://www.jianshu.com/p/0d805ed204e6
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。