https://naba-san.hatenablog.com/


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 インストール
    • > 依存性解決を終了しました。
依存性を解決しました ==================================================================================================================== パッケージ アーキテクチャ バージョン リポジトリー 容量 ==================================================================================================================== インストールしています: jenkins noarch 1.616-1.1 jenkins 60 M トランザクションの要約 ==================================================================================================================== インストール 1 パッケージ 総ダウンロード容量: 60 M インストール済み容量: 60 M これでいいですか? [y/N]y パッケージをダウンロードしています: jenkins-1.616-1.1.noarch.rpm | 60 MB 00:02 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールしています : jenkins-1.616-1.1.noarch 1/1 Verifying : jenkins-1.616-1.1.noarch 1/1 インストール: jenkins.noarch 0:1.616-1.1 完了しました! [root@vps-at1 ~]# service jenkins Usage: /etc/init.d/jenkins {start|stop|status|try-restart|restart|force-reload|reload|probe}

インストール後はサービス登録されるので管理が楽。常用するなら自動的に立ち上げさせるようにする。

[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がサービス待ち構えており、

http://localhost/jenkins/

を 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 で縛っておくことに超した事はないけど)。

ユーザ認証から閉め出された!

$JENKINS_HOME*1/config.xml より


  
    hudson.diagnosis.ReverseProxySetupMonitor
  
  1.616
  2
  NORMAL
  true ←falseに書き換え

これで再起動するとおk

*1:/var/lib/jenkins/