2011-06-29 16 views
1

ビルドとsvnエクスポートを実行するスクリプトがあります。ルートユーザーからhudsonを手動で実行すると、ビルドとsvnエクスポートを問題なく実行できます。サービスとして実行されるHudsonを使用してsvnエクスポートを実行する際の問題

サービス(chkconfig)を使用してhudsonを呼び出すと、hudsonは正常に動作します。信任状がhudson configに保存されているので、SVNチェックアウト(これはURL1と仮定します)もうまくいきます。しかし、私のスクリプトがsvnのエクスポートを実行しようとすると(URL1とは異なり、これはURL2と呼ばれます)、常に失敗します。それは "rootのパスワード:認証領域"と書かれています。私のビルドサーバーがsvnにログインするのに必要な資格情報を提供できないため、これは基本的にエラーです。私はrootアカウントにsvn資格を保存しているので、シェルからURL2へのsvn update/svn情報の実行や、手動で(サービスとしてではなく)hudsonを起動しても何の問題もありません。

サービスとしてアプリを実行しているときに、保存されているユーザー設定の一部または全部が読み込まれていないと思いますか?どのように私のsvn資格情報をロードするサービスを強制することができますか?それ以外の解決策や洞察も歓迎されます。

ところで

は、私のビルドサーバーは

おかげでのRed Hat 5.6を実行しています!

答えて

0

デフォルトでは、SVNはユーザー資格情報を対応するホームディレクトリに保存します。サーバーが再起動されると、私の場合は、/ etc/profileというプロファイルが東武の指すように読み込まれません。この問題を解決するには、HOMEフォルダを正しい場所に設定するだけです。これは私の問題を解決し

HOME=/<<user home folder location>>

次の行が含まれるようにアプリのためのあなたのサービススクリプトを変更します。

2

対話型シェルとサービスとして実行しているときの違いの1つは〜/ .bash_profileで始まり、2番目の実行は〜/ .bashrcで始まります 2つを比較する!

+0

ありがとうございます。私はbashのconfを変更しないで終わった。 – lwijono

2

envの出力を両方のコンテキスト(ハドソン内とシェル内)で比較すると、この問題のトラブルシューティングに役立ちます。

+0

これは本当に私にいくつかの手がかりを与えます。ありがとう! – lwijono

関連する問題