Jenkins使用Publish Over SSH外掛實現遠端檔案拷貝
安裝
官網介紹:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin
安裝外掛
點選-系統管理-系統外掛-可選外掛中 直接搜 publish over ssh 點選安裝,安裝完之後,重啟jenkins
配置
點選- 系統管理-系統設定-拉到最下面就有這個視窗了
公共配置:
Passphrase:密碼(key的密碼,如果你設定了)
Path to key:key檔案(私鑰)的路徑
Key:將私鑰複製到這個框中
Disable exec:禁止執行命令
私有配置:
SSH Server Name:標識的名字(隨便你取什麼)
Hostname:需要連線ssh的主機名或ip地址(建議ip)
Username:使用者名稱
Remote Directory:遠端目錄
Use password authentication, or use a different key:可以替換公共配置(選中展開的就是公共配置的東西,這樣做擴充套件性很好)
私有配置的高階:
Port:埠(預設22)
Timeout (ms):超時時間(毫秒)預設即可
Disable exec:禁止執行命令
Test Configuration:測試連線
專案配置
啟用步驟:
構建後操作→Add post-build action→Send build artifacts over SSH
SSH Server Name:選個一個你在系統設定裡配置的配置的名字
Transfer Set Source files:需要上傳的檔案(注意:相對於工作區的路徑。看後面的配置可以填寫多個,預設用,分隔)
Remove prefix:移除目錄(只能指定Transfer Set Source files中的目錄)
Remote directory:遠端目錄(根據你的需求填寫吧,因為我這兒是測試,所以偷懶沒有填寫。預設會繼承系統配置)
Exec command:把你要執行的命令寫在裡面
(新版本的要求Transfer Set Source files和Exec command都要填寫,可以不了他。老版本的允許只填寫一個)
高階:
Exclude files:排除的檔案(在你傳輸目錄的時候很有用,使用萬用字元,例如:**/*.log,**/*.tmp,.git/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你這兒更改了,上面的內容也需要更改)
No default excludes:禁止預設的排除規則(具體的自己看幫助)
Make empty dirs:此選項會更改外掛的預設行為。預設行為是匹配該檔案是否存在,如果存在則建立目錄存放。選中此選項會直接建立一個目錄存放檔案,即使是空目錄。(個人理解)
Flatten files:只上傳檔案,不建立目錄(除了遠端目錄)
Remote directory is a date format:遠端目錄建立帶日期的資料夾(需要在Remote directory中配置日期格式),具體格式參考下表:
Remote directory | Directories created |
---|---|
'qa-approved/'yyyyMMddHHmmss |
qa-approved/20101107154555 |
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}' |
builds/2010/11/07/build-456 (if the build was number 456) |
yyyy_MM/'build'-EEE-d-HHmmss |
2010_11/build-Sun-7-154555 |
yyyy-MM-dd_HH-mm-ss |
2010-11-07_15-45-55 |
Exec timeout (ms):執行腳步的超時時間(毫秒)
Exec in pty:模擬一個終端執行腳步
Add Transfer Set:增加一個配置
配置完就可以重新執行構建任務。