2017-07-11 25 views
2

非常に奇妙な問題が発生しました。ジョブの1つでSVNリポジトリにアクセスできるように、Jenkinsでプロキシを設定する必要があります。私は2通りの方法で行っています コマンドラインからWindowsサービスとしてJenkinsを実行する

  1. は、引数がjenkins.xmlファイルに定義されていながら、
  2. は、Windowsサービスとしてジェンキンススタートに必要な引数を指定して、コマンドラインからジェンキンスを開始しました。

コマンドライン最低料金:サービス(以下jenkins.xml内容がある)としてスタート

C:\>java -DJENKINS_HOME="C:\.jenkins" -Dhudson.model.DirectoryBrowserSupport.CSP 
="`script-src 'unsafe-inline';`" -Dhttp.proxyHost=localhost -Dhttp.proxyPort=312 
8 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -jar %JENKINS_HOME%\jenkins 
.war 

<executable>java</executable> 
<arguments>-DJENKINS_HOME="C:\.jenkins" -Dhudson.model.DirectoryBrowserSupport.CSP="`script-src 'unsafe-inline';`" -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -jar "%JENKINS_HOME%\jenkins.war"</arguments> 

だから、まさに同じ。ただし、Jenkinsを起動するコマンドラインを使用しているときに、プロキシ処理がうまく動作するという問題があります。しかし、私はサービスとしてジェンキンスを起動したときに、(プロキシ経由で)レポにアクセスすることができないと私は、このエラーメッセージが出ます:

unable to access repository error

を、私はシステム情報]セクションの[システムのプロパティを見ればことに注意してください設定が正常に適用されているので、プロキシパラメータは、どちらの場合も同じように表示されます。

System Properties

どうやらジェンキンスは、それが(コマンドラインまたはWindowsサービス)開始された方法に応じて起動する方法に違いがあります。この前提を強化するものは、Jenkinsをサービスとして起動するときにのみログファイルが書き込まれることがありますが、コマンドラインから起動するときには書き込まれないことがわかります。私は、これらのログファイルについて話しています:

jenkins.wrapper.log 
jenkins.out.log 

私は私がそうであるように、私は、コマンドラインから起動するときのサービスとしてジェンキンスから同じ結果を得るために、異なる実行する必要がありますか?どのような構成がありますか?

+1

どのユーザーがJenkinsサービスを実行していますか?デフォルトで_LocalSystem_です。ローカルシステムアカウントとネットワークサービスアカウントの違いについては、https://stackoverflow.com/a/510225/1744774を参照してください。 –

+1

@GeroldBroserこんにちは、この方向で私を指してくれてありがとう。私はリンクされた質問を研究し、デフォルトのLocalSystemではなく現在のユーザーアカウントを使用してサービスを実行するように構成する方法を見つけるのを助けました。完全な回答を投稿してください、私はそれを受け入れます。ありがとう。 –

答えて

関連する問題