5

Mercurial リポジトリ (自己署名証明書で保護されている) にコードがあり、それを使用するように Jenkins をセットアップしようとしています。

Jenkins に Mercurial プラグインをインストールし (Jenkins Server/Slaves に TortoiseHg をインストールすることを示しています)、Jenkins ジョブはリポジトリからソースを取得するように適切に構成されています。

手動で (つまり、Web インターフェイスを介して) ビルドすると、すべてが期待どおりに機能します。

ただし、次のような出力が得られるため、リポジトリのポーリングが成功していないようです。

Started on Apr 27, 2012 1:07:41 PM
[<jobname>] $ hg pull --rev default
warning: <MercurialServerIP> certificate with fingerprint e3:5f:5e:ea:4f:da:ef:a4:0b:4a:bb:00:e8:31:59:de:ce:d0:28:94 not verified (check hostfingerprints or web.cacerts config setting)
abort: mercurial_keyring: http authorization required but program used in non-interactive mode
[<jobname>] $ hg log --style <workspace>\<jobname>\tmp688470509422797505style --branch default --no-merges --prune 65d180b20a1e625841c8385709c86b83c3e10421
Done. Took 1.9 sec
No changes

以前にリポジトリの手動クローンを作成したので、ユーザーのパスワードを入力して認証用の Mercurial キーリング拡張機能を操作できましたが、エラー出力に基づいて、それが適用されているようには見えません。

Jenkins またはビルドを実行しているマシンを構成して、ポーリングを正常に実行するにはどうすればよいですか?

4

2 に答える 2

3

これは問題に対処するための最良の方法ではないかもしれませんが、それは私にとってはうまくいき、私は先に進むことができます。

セットアップでサーバーにパスワードを記憶させる方法を理解する唯一の方法は、\mercurial.iniでパスワードを手動で指定することでした。

注:mercurial.iniからmercurial_keyring行を削除する必要がある場合もあります。(すべてを手動で指定しているため、これによりキーリング拡張機能が無効になります。)

以前、サーバー上でリポジトリのクローンを作成するとパスワードが記憶されると信じていましたが、これはJenkinsのポーリング機能では機能しないようです(サーバーで実行されたときに実際のビルドスクリプトでは機能しましたが) )。

サーバーにプレーンテキストのパスワードを設定することに特に満足しているわけではありませんが、ポーリングを機能させるためのより良い方法が見つかるまで、これを使用できます。

于 2012-04-27T17:10:46.013 に答える
0

「kilnauth 拡張機能」を使用すると、資格情報をマシンに保存できます。このように、Jenkins で特別な設定を行う必要はありません。

$ hg help kilnauth
kilnauth extension - stores authentication cookies for HTTP
repositories. This extension knows how to capture Kiln
authentication tokens when pushing over HTTP.
This means you only need to enter your login and password once;
after that, the FogBugz token will be stored in your home
directory, allowing pushing without a password.

インストール方法については、http: //kiln.stackexchange.com/questions/341/how-can-i-install-kilns-mercurial-extensions-manuallyを参照してください。

于 2012-11-08T12:28:47.453 に答える