win32 マシンで hudson CI サーバーを実行しています。ビルドが成功したら、作成した exe を公開 Web サイトに配置します。SCP と ftp 用の hudon プラグインが思い通りに動作していませんでした (主に、それらを配置する場所としていくつかの奇妙なディレクトリを選択するためです)。そのため、hudson が呼び出すコマンド ライン scp 用の独自のスクリプトを作成しました。
ただし、何らかの理由で hudson 環境で実行すると、scp バット ファイルがハングします。同じマシン上でコマンドラインから呼び出すと正常に動作します。
どうやら、タスクスケジューラから実行すると、これも失敗するようです。
これがハドソンまたはスケジューラ環境から機能しない理由を考えられる人はいますか?
pscp.exe -batch -q -pw mypassword ..\..\installers\Output\myfilename domain.com@domain.com:domains/domain.com/html/downloads
(「domain.com」は私のドメイン名の代わりであることに注意してください...)
繰り返しますが、コマンド ラインからそのバット ファイルを呼び出すと、問題なく動作します。
また、注意してください-私がbatファイルと呼ぶ理由は、ファイル名をsvn WCREVコマンドに置き換えるためです-hudsonは脳死しており、scpまたはftpプラグインまたはコマンドライン呼び出しでその置換を行うことができないためです。このメソッドは問題なく動作するはずですが、ハングします。
pscp は、Putty に関連付けられたコマンド ライン ssh プログラムです。
私が抱えている追加の問題は、このプロジェクトが2つのsvnリポジトリにアクセスするため、hudsonが混乱し、svn rev番号が利用可能であると予想される場所で自由に提供できないことです。(1 つのリポジトリはサード パーティのもの用で、もう 1 つはコード ベースです) 識別子の一部としてコード ベースの svn rev を使用して、作成されるインストーラーに名前を付けます。
hudson (プラグイン) 内から ftp または scp を使用できれば幸いですが、hudson がファイルを配置することを決定した場所 (ビルド番号を使用 - 私は hudson のビルドを使用したくない) を考えると、それらはまったく機能しないようです。ビルドを識別するための番号 - 私は svn リビジョンを好みます) - したがって、コマンド ライン バージョンを使用しますが、それらも機能しません - それらは hudson ビルド プロセスをハングさせます。