Jenkins を CentOS 6.3 にインストール

GitLab に引き続き、Jenkins をインストールする。
Jenkins のインストールは非常に簡単なので、GitLab との連携までメモする。

Jenkins のインストール

Jenkins はレポジトリを登録して yum install するだけ。
こちらを参考にしました:さくらVPS(CentOS6.3)へJenkinsをインストールして認証つけてURLを変更する - えんたつの記録

# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install -y jenkins

ちなみに、jenkins は JDK1.6 以上が必要らしいので、入ってなければ yum install java しておく。yum じゃ入らなかったので、oracle から rpm 落としていれてください。

これでインストールは終わりで、下記がインストールされた設定やら環境やら

# Document Root
/var/lib/jenkins
# ログ
/var/log/jenkins
# 設定ファイル
/etc/sysconfig/jenkins
# 起動/停止
/etc/init.d/jenkins (start|stop|restart)

今回は Apache から Jenkins さんを見えるようにしたいので、設定ファイルを書き換える。
# vim /etc/sysconfig/jenkins

JENKINS_ARGS=""
	↓
JENKINS_ARGS="--prefix=/jenkins"

Apache の conf も ProxyPass を記述する。今回はデフォルトの 8080 ポートで Jenkins を起動するので、そのまま 8080 にプロキシする。もし他のサービスで 8080 ポートを利用している場合は、Jenkins の設定ファイルも、apache の conf も適宜書き換えること。
# vim ${APACHE_ROOT}/conf.d/jenkins.conf

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot "/var/lib/jenkins"
    ServerName jenkins.hoge.com
    ServerAlias jenkins.hoge.com
    ErrorLog "/var/log/jenkins/apache-error.log"
    CustomLog "/var/log/jenkins/apache-access.log" common

    ProxyPass /jenkins http://localhost:8080/jenkins retry=5
    ProxyPassReverse /jenkins http://localhost:8080/jenkins
    ProxyRequests Off

    <Proxy http://localhost:8080/jenkins*>
      Order deny,allow
      Allow from all
    </Proxy>
</VirtualHost>

SSLでのアクセスはちなみにこんな感じで書いた。

<VirtualHost *:443>
    ServerAdmin admin@example.com
    DocumentRoot "/var/lib/jenkins"
    ServerName jenkins.hoge.com:443
    ServerAlias jenkins.hoge.com:443
    ErrorLog "/var/log/jenkins/apache-error-ssl.log"
    CustomLog "/var/log/jenkins/apache-access-ssl.log" common

    ProxyPass /jenkins http://localhost:8080/jenkins retry=5
    ProxyPassReverse /jenkins http://localhost:8080/jenkins
    ProxyRequests Off

    <Proxy http://localhost:8080/jenkins*>
      Order deny,allow
      Allow from all
    </Proxy>

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    SSLCertificateFile /path/to/hoge.crt
    SSLCertificateKeyFile /path/to/hoge.key
</VirtualHost>

これで、

# /etc/init.d/jenkins start

で Jenkins を起動して、

# /etc/init.d/httpd restart

apache を再起動して、http://jenkinshost/jenkins にアクセスして Jenkins のホームがみえればOK。

Jenkins の設定

まずはデフォルトでは git プラグインが入っていないので git プラグインをインストールする。


上記の図のように、プラグインの管理画面へ遷移して、利用可能タブをクリックする。
するとインストールできるプラグインが一覧されるので、必要なものを入れていく。
もしプラグインが一覧されないようであれば、高度な設定タブをクリックし、一番右下の更新ボタンをクリックする。(おそらく、このへんは時間がたてば Jenkins が自動的にアップデートするかも?)


今回は Git plugin と Gitlab plugin を入れた。Gitlab Plugin いれると 503 になってブラウザでの設定ができなくなったのでいれませんでした。


上記のようにチェックを入れて、下部の再起動せずにインストールをクリック。そうすると自動的にプラグインをインストールしてくれる。
次に、設定。システムの設定画面に移動する。

そして、セキュリティの有効化とCSRF対策にチェックをいれておく。
セキュリティの有効化は、ブラウザアクセスするときにログインが必須になるというもの。最初はユーザーのサインアップを許可し、自分のアカウントを作った後にサインアップの許可を外すといいと思う。

Git の設定。

Git plugin の設定

Jenkins の URL の設定

Eメールの設定

とりあえずインストール作業としてはここまで。長くなったので GitLab との連携は別で書く。