リモートの Windows 7 マシンで FileZilla サーバーを実行しています。Debian 7 にスレーブがインストールされた実行中の Jenkins マスターがあります。
debian7 スレーブに ssh し、filezilla サーバーに ftp/put を実行すると、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>
しかし、ここでの指示に基づいて FTP 公開ステップを追加した Jenkins フリースタイル ジョブで同じステップを実行すると、次のようになります。
https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+FTP+プラグイン
次のような結果になります:
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+プラグイン
このプラグインで動作します: http://wiki.hudson-ci.org/display/HUDSON/FTP-Publisher+プラグイン
ただし、どのような提案でも歓迎します。
答え1
私も同じ問題を経験しました。プラグインを「アクティブ データ モードを使用する」に設定することで、転送を機能させることができました。また、Jenkins サーバーからのポート 21 での接続を許可していることを確認してください。
答え2
まず、lftp コマンドを使用して ftp サーバーにログインできます。ftp コマンドの方が適しています。
今、私たちは...
- インストールFTP プラグイン経由で公開ジェンキンスにて。
- FTPサーバアカウントの設定ジェンキンス監督。
- プッシュファイルの設定ジョブ設定。
- 今すぐ構築します。