CentOSにJenkinsをInstall

jenkins_centosGitLabと連携して開発サイクルを自動化しようとJenkinsを導入したときの覚書。

環境: CentOS 6.6

 

目次

  • JenkinsをYUM経由でインストール
  • JDKをインストールしてJenkins起動
  • Nginxのリバースプロキシ設定
  • ログイン設定

 


1.JenkinsをYUM経由でインストール

公式ページを参考に

# 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 jenkins

今使用中のポートを確認
# netstat -ant

8080はGitLabのUnicornが使用しているので変更する
# vi /etc/sysconfig/jenkins

JENKINS_PORT="8081"

timezoneを日本にする

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Tokyo"

自動起動するように
# chkconfig jenkins on

起動
# /etc/rc.d/init.d/jenkins start

Starting Jenkins bash: /usr/bin/java: そのようなファイルやディレクトリはありません

Javaがないって怒られた。

 


2.JDKをインストールしてJenkins起動

YUM経由でインストールする。
# yum install java-1.8.0-openjdk

Jenkins起動
# /etc/rc.d/init.d/jenkins start

 

 


3.Nginxのリバースプロキシ設定

公式Wikiを参考に。

Nginxの設定
# vi /etc/nginx/conf.d/05_jenkins.conf

server {
    listen       80;
    server_name  jenkins.hoge.jp;

    access_log /var/log/nginx/jenkins.access.log;
    error_log /var/log/nginx/jenkins.error.log;

    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }

    ### Reverse Proxy for Jenkins
    ### @see https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+behind+an+NGinX+reverse+proxy
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:8081;
        proxy_connect_timeout   150;
        proxy_send_timeout      100;
        proxy_read_timeout      100;
        proxy_buffers           4 32k;
        client_max_body_size    8m;
        client_body_buffer_size 128k;
    }
}

Nginx設定再読み込み
# /etc/rc.d/init.d/nginx configtest
# /etc/rc.d/init.d/nginx reload

ブラウザで確認

Jenkinsの管理 → プラグインの管理
からプラグインを最新にアップデート

 


4.ログイン設定

デフォルトで公開されているのでログインを必須にする。

Jenkinsの管理 → グローバルセキュリティの設定

「セキュリティの有効化」にチェック
「Jenkinsのユーザーデータベース」を選択
「ユーザーにサインアップを許可」にチェック

権限の管理
「ログイン済みユーザーに許可」を選択

保存後にサインアップ。

その後ログインユーザーしかアクセス出来ないようにする。

「ユーザーにサインアップを許可」のチェックをはずす

権限の管理
「行列による権限設定」を選択
登録したユーザー名を入力して追加
右端をクリックして全部にチェックを付ける

ログアウトして確認

 

 

< Related Posts >