無法從 jenkins FTP 到遠端 Windows 伺服器(使用 Publish Over FTP 外掛程式)

無法從 jenkins FTP 到遠端 Windows 伺服器(使用 Publish Over FTP 外掛程式)

我有一個 filezilla 伺服器在遠端 Windows 7 電腦上運行。我有一個正在運行的 jenkins master 和一個安裝在 debian 7 上的 Slave。

如果我 ssh 到 debian7 從機並執行 ftp/put 到 filezilla 伺服器,我可以上傳一個 test.txt 檔案:

$ ftp myfileZillaFtp 21
Connected to myfileZillaFtp.
220-FileZilla Server version 0.9.41 beta
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/
Name (myfileZillaFtp:jenkins): admin
331 Password required for admin
Password:
230 Logged on
Remote system type is UNIX.
ftp> cd test
250 CWD successful. "/test" is current directory.
ftp> put test.txt
local: test.txt remote: test.txt
200 Port command successful
150 Opening data channel for file transfer.
226 Transfer OK
6364 bytes sent in 0.00 secs (24959.2 kB/s)
ftp> 

但是,如果我在 Jenkins 自由式作業中運行相同的步驟,其中我根據此處的說明添加了 FTP 發布步驟:

https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+FTP+Plugin

我得到:

FTP: Connecting from host [debian7-slave]
FTP: Connecting with configuration [myfileZillaFtp] ...
220-FileZilla Server version 0.9.41 beta
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/
FTP: Logging in, command printing disabled
FTP: Logged in, command printing enabled
CWD test
250 CWD successful. "/test" is current directory.
FTP: Remote root is not absolute, getting absolute directory from PWD
PWD
257 "/test" is current directory.
TYPE I
200 Type set to I
CWD /test
250 CWD successful. "/test" is current directory.
PASV
227 Entering Passive Mode (172,22,80,8,192,46)
FTP: Disconnecting configuration [myfileZillaFtp] ...
ERROR: Exception when publishing, exception message [Connection timed out]
Build step 'Send files over FTP' changed build result to UNSTABLE
Finished: UNSTABLE

為什麼透過jenkins運行ftp上傳失敗?

編輯:

最有可能的錯誤是: https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+FTP+Plugin

它與這個插件一起使用: http://wiki.hudson-ci.org/display/HUDSON/FTP-Publisher+Plugin

不過,任何建議仍然受到歡迎。

答案1

我遇到了同樣的問題。我能夠透過將插件配置為“使用活動資料模式”來使傳輸工作。另請確保允許 Jenkins 伺服器在連接埠 21 上進行連線。

答案2

首先,我們可以使用lftp指令登入ftp伺服器,最好是ftp指令。

現在,我們可以...

  1. 安裝透過 FTP 外掛程式發布在詹金斯。
  2. 將 ftp 伺服器帳戶設定為詹金斯經理
  3. 將推送檔案設定為作業配置
  4. 立即建置。

相關內容