ラベル Jenkins の投稿を表示しています。 すべての投稿を表示
ラベル Jenkins の投稿を表示しています。 すべての投稿を表示

2016年4月6日水曜日

JenkinsでProxy Errorが出る場合の対処方法

Jenkins+Apacheで動かしているとき、時々Proxy Errorが出ることがあります。

これ、時々ってのが厄介で、大抵はリロードすれば直ります。
今回、これの原因ぽいのが判明したのでメモっておきます。

Proxy Errorが出る環境は、Jenkins+Apacheでmod_proxyを使っている場合に出ますが、
どうやら、httpsにリダイレクトさせている環境で発生するようです。

というわけで、同様の事例がないか調べてみました。

どうやら、Apacheはhttpsなのに、レスポンスヘッダがhttpなのがいけないらしい。参考
なお、レスポンスヘッダの見方は以下の通り。

curl -ik https://foobar.example.com/jenkins
原因がわかれば対処ができます。参考サイトを参考に
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

を追記してあげると無事直りました。

*Nginxの場合は以下のような感じ。(http->httpの例)
(--prefix=/jenkinsを付けているからと、
proxy_redirect http://localhost:8080/jenkins
なんてやるとダメだったので、バックエンドには付けないほうが良いみたい。)

location ^~ /jenkins {
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
# Fix the “It appears that your reverse proxy set up is broken" error.
proxy_redirect http://localhost:8080 $scheme://$host;
# Optionally, require HTTP basic auth.
# auth_basic "Please authenticate to use Jenkins";
# auth_basic_user_file /opt/nginx/htpasswd;
}

2015年10月14日水曜日

Jenkins+DockerでPHPUnitを動かすCIサーバを作ってみた。

PHPカンファレンス2015の書籍コーナーにて、「何か買ってけ。」と言われたものの、自分プログラマじゃないしなー
というわけで、以前から気になっていたDocker本を入手。

どうせDockerやるならTDDだよね。というわけで今風なCIサーバを作ってみました。
CircleCIみたいにプッシュしたら自動でテストが走って~なやつです。

当初Jenkinsサーバ内にDockerを入れていたのですが、テスト中は当然Dockerが動くのでメモリは食うわ重くなるわでこりゃ駄目だ。というのでJenkinsスレーブサーバに手を出す羽目に。

Jenkins+DockerなCIサーバはググれば構築事例は割りと有るので構築自体はそんなに悩まなかったのですが、プログラマじゃないのでPHPUnitの動かし方が分からない。という罠があるとは・・

というわけで、自宅検証サーバにて構築した内容は例によってWiKiにまとめています。
ついでにJenkinsのスレーブサーバ構築も。
Jenkinsスレーブサーバ、今まで環境依存なジョブを動かすために苦労していたのですが、環境ごとにスレーブに切り出す、さらにDockerに押し込めてしまえば随分と楽になりそうな予感がします。


2015年2月28日土曜日

Jenkinsを動かしていてi-nodeが足りなくなった。

久々に冷や汗が出る事態が発生。

Jenkinsサーバでi-nodeが足りなくなる事態が発生しました。

メンテナンスで再起動予定の日に!!

経験上i-node不足の状態で再起動すると死ぬので焦りました。

原因はまさにここのとおり。

http://rock-and-hack.blogspot.jp/2013/07/jenkins-no-space-left-on-device.html?m=1


1GB消すのに約3時間Orz・・・