複数のスレーブから結果を集約するために、Hudsonジョブの結果(複数のファイルからなる)をHudsonサーバーにコピーするようにHudsonジョブを構成しようとしています。私の意図はscpを使うことです。残念ながら、私は、Windows環境(両方のスレーブとハドソンのサーバーはWindows環境)でSSH公開鍵/秘密鍵を設定するのが難しいです。私はそれらのマシンの所有者ではないため、Linuxに移行することはできません。Windows環境での公開鍵設定の問題
次の手順でSSH公開鍵/秘密鍵を設定します。
- ハドソン機で
設定のSSHサーバ次実行することにより:
- CD C:\プログラムファイル\のOpenSSH \ binに
- mkgroupの両-l >> .. \ ETC \グループ を
- あるmkpasswd -l >> .. \ ETC \ passwdの
- あるmkpasswd -d -uテスト>> .. \ ETC \ passwdの(注:テストでは、SSHで使用されるユーザーIDです)
- ダウンロードcygintl-2.dll現在& http://samanthahalfon.net/resources/cygwin_includes.zipからcygwin1.dll。これらのdllファイルをC:\ Program Files \ OpenSSH \ binにコピーします。 cygwin1.dllを置き換える必要があります。
- CDのC:\プログラムファイル\のOpenSSH \ etcに
- .. \ binに\ chownコマンドテスト*
- .. \ビン\ chmodの600 *
- 編集C:\プログラムファイル\のOpenSSH \ ETC \ sshd_configファイル
- ポート22
- プロトコル2
- StrictModesをなし
- PubKeyAuthenticationはい :次のように構成されました
- AuthorizedKeysFile /c/home/test/.ssh/authorized_keys
- PasswordAuthenticationをなし
- 実行することで、Windowsのサービスとして起動するにはUserPrivilegeSeparationなし
- :ネットスタートopensshd
設定Hudsonマシンのssh公開鍵を使用して、テスト自動化スクリプトにパスワードの入力を求めないようにします。
- スレーブマシンでは、 "ssh-keygen -t dsa"コマンドを使用してキーペアを作成します。 デフォルトでは、キーペア(ファイル:id_dsa & id_dsa.pub)はC:¥Documents and Settings¥test.ssh¥
- に生成されます。「scp id_dsa.pub [email protected]:」を使用します。 ssh/id_rsa_upload.pub "コマンドを使用してHudson Serverに公開鍵をアップロードします。 ie scp id_dsa.pub [email protected]:.ssh/id_rsa_upload.pub
- ハドソンサーバーでは、C:\ Program Files \ OpenSSH.sshディレクトリに移動して、 "type id_rsa_upload.pub> > authorized_keys "
- " net stop opensshd "と" net start opensshd "を実行してHudsonサーバーでopensshdを終了して再起動すると、パスワードなしでssh serverにログインできるようになりました。ハドソンサーバで
- 、次のコマンドを実行:
- CDのC:\プログラムファイル\のOpenSSH \
- のchown -Rテストを。
- のchmod -R 700の.ssh
- のCDの.ssh
- のchmod 600のauthorized_keysにスレーブ機では
- 、編集C:\プログラムファイル\のOpenSSH \ ETC \はssh_config。 "IdentityFile/c/home/test/id_dsa"を指定します。
SSH秘密鍵が実行されたスレーブコンピュータからテストします。スレーブマシンでは、実行して接続します
は残念ながら、それはまだパスフレーズの入力を要求します(IPはハドソンサーバーのIPです)。
私は回避策として、以下のような可能性に見えたが、結果はポジティブではありません。
。スレーブマシンのドライブにマップされたHudsonサーバーの共有ドライブ - Hudsonは "result.html Y:コピー"を許可していません。
b。 sftp - 公開鍵が必要です
c。 "copy result.html \ XX.XX.XX.XX \ test \"を使用して共有ドライブの問題を克服するための提案された解決策を見つけましたが、私は がこれを使用してユーザーIDとパスワードを指定する方法を知らないのでアクセスが拒否されました。方法。参照してください:Hudson continuous integration server: how to see Windows mapped directories that are visible to Ant?
d:私はまた、潜在的な解決策のためのHudsonのプラグインを見てきましたが、プラグインの使用法に適したものが見つからないか、考えられませんでした。
誰かが私の間違いを公開鍵の設定に見つけたり、複数のファイルをHudsonサーバーにコピーするための代替ソリューションを提案したりすることができれば、素晴らしいことになります。ありがとう