Jenkins proxy 接続エラー

3,896 views
Skip to first unread message

bunxi...@gmail.com

unread,
Aug 20, 2018, 4:31:38 AM8/20/18
to 日本Jenkinsユーザー会
皆様 

こんにちは。
Proxyサーアについてご教示頂きたく存じます。
経由は以下となります。

①Proxyサーバを通してGitとGithub、Gitlabの連携が成功です。
  Git Bashにてclone,pushで実施しました。

②GitのクライアントからGithub,GitLabとの連携も成功です。

③Jenkins上でGithub、Gitlabと連携させるとき、添付ファイルに記述されているエラーが発生しています。
    ※ローカルPC環境との連携に問題ありません。

ご教授頂ければ大変助かります。
宜しくお願い申し上げます。


JenkinsProxyErrorGoogle.jpg

Kazuhide Takahashi

unread,
Aug 20, 2018, 5:37:00 AM8/20/18
to 日本Jenkinsユーザー会
Jenkinsがproxy経由でインターネットアクセスを行う必要がある場合には「Jenkinsの管理」->「プラグインの管理」->「高度な設定」でWebブラウザではなくJenkins独自のproxy設定を行なってJVMが正しくproxy経由でインターネットアクセスを行なえるように設定しておく必要がありますが、この設定は行なってあるでしょうか?
あるいはjenkinsを起動する際のパラメータで次の様にproxyを指定することもできます。
-Dhttp.proxyHost="proxyホスト" -Dhttp.proxyPort="proxyポート"
詳しくは「Jenkinsの管理」->「プラグインの管理」->「高度な設定」のヘルプやWiKiを見てみてください。


2018年8月20日月曜日 17時31分38秒 UTC+9 bunxi...@gmail.com:

bunxi...@gmail.com

unread,
Aug 21, 2018, 3:14:59 AM8/21/18
to 日本Jenkinsユーザー会
Kazuhide Takahashi さま

お世話になっております。

ご教授頂き誠にどうもありがとうございます。

いろいろと設定してみましたが、うまくいけないです。
具体的に実施したプロセスをご説明させていただきたいと思います。

①java -Dhttp....の場合、添付ファイル「JavaDhttpError.jpg」に記載されているエラーが発生しています。

②Jenkinsをインストールしたときに、「Jenkinsの管理」->「プラグインの管理」->「高度な設定」にProxy情報を設定し、GitLabなどのプラグインを追加致しました。
  「JenkinsProxyError.jpg]を添付いたします。
③ご教示いただいたwikiサイトを拝見し、https://wiki.jenkins.io/display/JENKINS/JenkinsBehindProxy Proxy Server Support にある

Team Foundation Server Plugin”のインストールが失敗いたしました。


もし可能でございましたら、もう少し具体的に教えていただければ大変助かります。弊社のサーバ管理チームにお問い合わせして、Proxyの設定も変えていただいていますが、

結局同様なエラーが出ています。


引き続きよろしくお願いいたします。


2018年8月20日月曜日 18時37分00秒 UTC+9 Kazuhide Takahashi:

JavaDhttpError.jpg
JenkinsProxyError.jpg

Kazuhide Takahashi

unread,
Aug 21, 2018, 4:30:30 AM8/21/18
to 日本Jenkinsユーザー会
(1). 「JavaDhttpError.jpg」に記載されているエラーに関しては、単にjavaに渡すパラメータに特殊文字や空白が含まれているのにクオートやエスケープがされていないのでエラーになっているのではないでしょうか?
少なくとも、私がWindowsにインストールしたJenkinsでは、JavaもJenkinsと同時にインストールされたものを使う必要があるし、jenkins.warファイルも以下の様にクオートしてやる必要がありました。
>"C:\Program Files (x86)\Jenkins\jre\bin\java.exe" -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=8080 -jar "C:\Program Files (x86)\Jenkins\jenkins.war"
また、インストールされたJenkinsがサービスとして動いているので、タスクマネージャーでサービスを停止しておく必要もありました。(この辺りはどのようにJenkinsをインストールして、どのように起動するかでも手順が変わると思います。たぶんJENKINS_HOMEの指定なども必要なはずです。)
(2). 2つめの「高度な設定」にProxy情報を設定してもエラーになるのは、エラーメッセージに "Could not resolv proxy: aproxy" のエラーメッセージが表示されているので、単にproxyサーバーのホスト名が間違えているか、aproxyというホスト名の参照が解決できないのでは?
(3). https://wiki.jenkins.io/display/JENKINS/JenkinsBehindProxy にある「Which plugins support a proxy server?」の表はこれをインストールしろという意味ではなく、ここに列挙されているプラグインではproxyが使えるということなので、gitリポジトリへのアクセスにこの表にあるGit Pluginではなく、GitLabプラグインなどを使っているならproxyは使えない可能性もあるのではないでしょうか?
あるいは、WindowsにインストールされているGitクライアントの種類によってもproxyの設定方法や扱いが異なるので、問題が起きている環境でどのアプリのどのバージョンを使っていて、どの様な設定を行なったのか?などをもう少し詳しく公表して質問しないと回答は難しいかもしれません。
なんにせよ、私はWindows環境にはあまり詳しくは無いので、これ以上お役に立てそうにないので、会社のWindows環境に詳しい方などに助言を求めてください。

2018年8月21日火曜日 16時14分59秒 UTC+9 bunxi...@gmail.com:

BunXia Hou

unread,
Aug 22, 2018, 10:27:50 PM8/22/18
to jenkin...@googlegroups.com

Kazuhide Takahashi さま

お世話になっております。

いろいろとご教授頂き誠にありがとうございます。

ご提示いただいた情報に沿って確かめてみましたが、相変わらずうまくいかないです。

実施したプロセスについて下記よりご説明させていただきたく存じます。

①>"C:\Program Files (x86)\Jenkins\jre\bin\java.exe" -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=8080 -jar "C:\Program Files (x86)\Jenkins\jenkins.war"

→Error:unable to access jarfile jenkins.jar  (※ インターネットで検索した方法に従ってやってみましたが、同様なエラーメッセージが出てます)

JENKINS_HOMの指定は、インストールしたとき、自動設定されていますので、確認しましたが、問題ないと思います。

②昨日、弊社のインフラ管理の方らがご協力いただき、Proxyを通さず、WIFIで外と繋がってテストしましたが、ビルド結果は同じです。

→Proxyの問題ではないかもしれないかな?

③本日は、以下のようなテストしてみました。結果は以下です。

CASE 1: Proxyを接続し、Jenkins・プラグインの管理・高度な設定にProxy情報を入れます。 

実施結果 → 添付ファイル: ProxySetting0823.jpg ,  BuildResult0823.txt 

Jenkins\workspace\GithubTest\.gitがありますが、githubにあるファイルはありません。

また、インターネットが繋がらなくでもプラグインのインストールは可能です。

CASE 2: Proxyの接続を外して、同時にJenkins・プラグインの管理・高度な設定にProxy情報も外します。

実施結果 →NoProxyBuilsResult0823.txt

ただし、プラグインのインストールはできません。

CASE1と2は両方とも以下のようなエラーが出ています。aproxyをネットで検索しましたが、見つけていませんでした。また弊社のインフラの方らもaproxyを知らない

と言ってます。

hudson.plugins.git.GitException: Command "git.exe fetch --tags --progress https://github.com/hbx***/***.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: fatal: unable to access 'https://github.com/***/***.git/': Could not resolve proxy: aproxy

ちなみに、Git(cmdで実施)やtortoisegitとGithubとの連携は正常で、Clone,pushでも成功しています。

なお、実装環境は以下の通りです。

Windows 64bit、Git Version: 2.18.0 、Jenkins Version : Long-term latest : 2.121.3 (windows)

状況は以上ですが、引き続きサポートいただければ幸いと思います。

何卒、よろしくお願いいたします。






2018年8月21日(火) 17:30 Kazuhide Takahashi <kazuh...@gmail.com>:
--
このメールは Google グループのグループ「日本Jenkinsユーザー会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには jenkinsci-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
BuildResult0823.txt
ProxySetting0823.jpg
NoProxyBuildResult0823.txt

Yoshihito Fukuyama

unread,
Aug 23, 2018, 9:19:42 AM8/23/18
to jenkin...@googlegroups.com
自宅の Windows 10 で proxy は使っていませんが以下のようにして再現してみました。

---------------------------------------------------
PS C:\tmp\wk0823> git --version
git version 2.11.1.windows.1
PS C:\tmp\wk0823> git init
PS C:\tmp\wk0823> git remote add origin https://github.com/fukuyama/java-faker-sample.git
PS C:\tmp\wk0823> git config --list | Select-String "proxy"
PS C:\tmp\wk0823> git config --local --add http.proxy aproxy
PS C:\tmp\wk0823> git config --list | Select-String "proxy"

http.proxy=aproxy


PS C:\tmp\wk0823> git fetch
fatal: unable to access 'https://github.com/fukuyama/java-faker-sample.git/': Couldn't resolve proxy 'aproxy'
PS C:\tmp\wk0823> git config --unset-all http.proxy
PS C:\tmp\wk0823> git config --list | Select-String "proxy"
PS C:\tmp\wk0823> git fetch
remote: Counting objects: 21, done.
remote: Total 21 (delta 0), reused 0 (delta 0), pack-reused 21
Unpacking objects: 100% (21/21), done.
 * [new branch]      master     -> origin/master
PS C:\tmp\wk0823>
---------------------------------------------------

エラーメッセージは微妙に違いますが、これは、git.exe のバージョンの違いで

> stderr: fatal: unable to access 'https://github.com/***/***.git/': Could not resolve proxy: aproxy
>
と、エラーを出しているのは、jenkins ではなく、jenkins が実行している、git.exe だと思います。

windows 環境で jenkins 側の proxy 設定を、git.exe に引き継いでくれているのかわかりませんが
git.exe 側もいろいろな場所で、proxy 設定が可能なので、どこかに aproxy が設定されているのかもしれません。

ユーザー毎の設定もあるので、jenkins が実行しているユーザー環境と
実際に git clone を行い成功したユーザー環境と
違いがあるのかも。
# git config --local ってことも?

2018年8月23日(木) 11:27 BunXia Hou <bunxi...@gmail.com>:

Kazuhide Takahashi

unread,
Aug 23, 2018, 9:23:42 AM8/23/18
to 日本Jenkinsユーザー会
Jenkinsでproxyを設定していないなら、gitでや環境変数で設定しているのではありませんか?
次の様にproxy設定を確認するなり、proxy設定をクリアしてみてはどうでしょう?

git config --list
git config --global --unset http.proxy
git config --global --unset https.proxy

あるいは環境変数の値でproxyが設定されている可能性もあるのでechoとかsetで確認するとか?

echo %HTTP_PROXY%
echo %HTTPS_PROXY%

いずれにせよ、この問題はJenkinsの問題というよりはインフラ周りやGit、Windows環境などの問題だと思うので、その辺りをもう一度見直してみる必要があるのでは?

Google などで検索するとGitとProxyの設定で同じ様な問題に直面するケースも多い様です。
https://stackoverflow.com/questions/20370294/could-not-resolve-host-github-com-error-while-cloning-remote-repository-in-git/27694918

Reply all
Reply to author
Forward
0 new messages