Jenkins實現文件上傳到遠程服務器(Publish Over SSH)


1.安裝Publish Over SSH插件

系統管理→管理插件→可選插件→Artifact Uploaders→Publish Over SSH

 查看是否安裝成

2.Publish over SSH的公共配置(系統配置)

 系統管理→系統配置→Publish Over SSH

公共配置說明:

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:可以替換公共配置(選中展開的就是公共配置的東西,這樣做擴展性很好)

Passphrase:密碼(可以替換公共配置的密碼,但是這里必須選擇Use password....復選框)

Port:端口(默認22)

Timeout (ms):超時時間(毫秒)默認即可

Disable exec:禁止運行命令

測試配置(Test Configuration)

3.項目配置

XX項目->配置->增加構建步驟

 基本配置說明:

Name:對應Publish Over SSH中的私有配置SSH Server Name

Transfer Set

Source files:需要上傳的文件(相對於工作區的路徑。可以填寫多個,默認用,分隔, **/* 表示這個job的工作目錄下所有的文件和目錄。)

Remove prefix 該操作是針對上面的source files目錄,會移除匹配的目錄。通常留空

Remote directory:遠程服務器目錄(比如我這里的test,那么加上  公共配置(系統配置)->私有配置->Remote Directory   最后就是  /xcdata/test/)

高級

高級配置說明:

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中配置日期格式)

Exec timeout (ms):運行腳步的超時時間(毫秒)

Exec in pty:模擬一個終端執行腳步

Add Transfer Set:增加一個配置

坑說明:

1.Transfer Set Source files配置

發生的坑(SSH: Transferred 0 file(s)):

 原因

Transfer Set Source files 這里用的是相對工作區的路徑,比如你這個jenkins的工作目錄為/xcdata/docker-jenkins/jenkins/jenkins_home/workspace/tj,那這的目錄只能是相對於這個目錄下的(不要填絕對路徑,要寫相對路徑),

比如如果是要全部到遠程,就填 **/*,如果是單目錄(如/xcdata/docker-jenkins/jenkins/jenkins_home/workspace/tj/test/app.jar),就填 /test/*

2.Exception when publishing, exception message錯誤

 一般這錯誤有2個原因:

1.磁盤空間滿了,清理磁盤空間即可

df -h  (查看磁盤空間)

2.沒有權限

Publish Over SSH配置中的用戶密碼沒有創建文件的權限


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM