CentOS に Jenkins をインストールする
http://pkg.jenkins-ci.org/redhat/
リポジトリまで準備してくれてるとか・・流石執事やな。
という事で公式リポジトリ追加。
[root@vps-at1 ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo --2015-06-04 11:07:23-- http://pkg.jenkins-ci.org/redhat/jenkins.repo pkg.jenkins-ci.org をDNSに問いあわせています... 199.193.196.24 pkg.jenkins-ci.org|199.193.196.24|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 75 [text/plain] `/etc/yum.repos.d/jenkins.repo' に保存中 100%[==========================================================================>] 75 --.-K/s 時間 0s 2015-06-04 11:07:23 (8.24 MB/s) - `/etc/yum.repos.d/jenkins.repo' へ保存完了 [75/75] [root@vps-at1 ~]# sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
続けてパッケージインストール。
[root@vps-at1 ~]# yum install jenkins 読み込んだプラグイン:downloadonly, fastestmirror インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: mirror.vcu.edu * extras: repos.mia.quadranet.com * updates: centos.mirrors.wvstateu.edu jenkins | 951 B 00:00 jenkins/primary | 31 kB 00:00 jenkins 288/288 依存性の解決をしています
-
- > トランザクションの確認を実行しています。
- > Package jenkins.noarch 0:1.616-1.1 will be インストール
- > 依存性解決を終了しました。
- > トランザクションの確認を実行しています。
インストール後はサービス登録されるので管理が楽。常用するなら自動的に立ち上げさせるようにする。
[root@vps-at1 jenkins]# chkconfig jenkins on
起動時の環境関係は /etc/sysconfig/jenkins に設定項目がある。主項目は以下の通り。
- JENKINS_HOME ("/var/lib/jenkins/")
- JENKINS_USER ("jenkins")
- JENKINS_PORT ("8080")
- JENKINS_LISTEN_ADDRESS (設定値なし, 0.0.0.0 で待機)
- JENKINS_AJP_PORT ("8009")
- JENKINS_DEBUG_LEBEL ("5")
- JENKINS_ENABLE_ACCESS_LOG ("no")
- JENKINS_ARGS (設定値なし, java コマンドから渡すオプションを指定)
この状態だと、自機から見て http://localhost:8080/ で Jenkins が立ち上がる。
例えば、http://localhost:12345/jenkins/ 等にURLを変更したい場合、
- JENKINS_PORT = "12345"
- JENKINS_ARGS = "--prefix=/jenkins"
等に書き換える。尚、Prefix は設定画面上から変更できない模様(URLの設定項目あるんやけどなぁ)。
リバースプロキシ対策
例えば80番ポートでApacheがサービス待ち構えており、
を Jenkins に割り当てたい場合、何もせずにリバースプロキシを設定すると、URLの整合が取れずに表示が崩れます。
先の手順に従い、事前にリバースプロキシの割当先パスと同じ Prefix をJenkins側に仕込んでおくと、表示した時にURLの整合が取れずに画面全体が崩れてしまう現象を回避できます。やったね!
Apache の場合は、こんな感じの設定を /etc/conf.d/jenkins.conf に仕込んでおけば良いと思う(そのまんま)。
ProxyPass /jenkins/ http://localhost:12345/jenkins/ ProxyPassReverse /jenkins/ http://localhost:12345/jenkins/
iptables なり allow, deny なりで、必要に応じてアクセス元を制限しましょう。
あと、リバースプロキシを経由せずに Jenkins へアクセスする必要がない場合、JENKINS_LISTEN_ADDRESS を 127.0.0.1 とかに設定しておくと良いと思います(iptables で縛っておくことに超した事はないけど)。
ユーザ認証から閉め出された!
hudson.diagnosis.ReverseProxySetupMonitor 1.616 2 NORMAL true ←falseに書き換え
これで再起動するとおk
*1:/var/lib/jenkins/