LoginSignup
49
49

More than 5 years have passed since last update.

CentOS 6.5にjenkins+nginxをインストールとSSL導入(GitLabと共存)

Last updated at Posted at 2014-04-29

CentOS 6.5にjenkins+nginxをインストールとSSL導入(GitLabと共存)

以前に入れたサーバーにjenkinsを共存させる。
CentOS 6.5にGitLab 6.8をインストールとSSL導入
http://qiita.com/narumi888/items/da664ce0aca5373fd9aa

既にGitLabが公開されているのでサブディレクトリに配置。

https://IPアドレス/jenkins

環境は2014/4/25時点で全て最新のものを使用。
CentOS:6.5
Jenkins:1.560
nginx:1.6.0

以下のサイトを参考にさせて頂きました。
ありがとうございました。
virtualbox(centos)にjenkins+nginxでインストールする方法メモ
http://qiita.com/ryurock/items/e41a821a8287091d7510
さくらVPSにJenkinsをインストールしてGitlabと連携したメモ。
http://qiita.com/ANTON072/items/f22612db318503ab9b9c
nginx で SSL解きリバースプロキシな設定のお作法
http://qiita.com/ywatai@github/items/a179186a458a42b3c7f0

javaのインストール

# java -version

jenkinsはjavaがv1.6.0 < しか動かないらしい。
v1.6.0以下ならアンインストール。

# yum remove java

javaをインストール。

# yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel

Jenkinsのインストール

# 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

Jenkinsの設定変更

サブディレクトリに変更。

vi /etc/sysconfig/jenkins
$ diff /etc/sysconfig/jenkins
?c?
<     JENKINS_ARGS=""
---
>     JENKINS_ARGS="--prefix=/jenkins --httpPort=${JENKINS_PORT} --ajp13Port=${JENKINS_AJP_PORT}"

8080は使用済みだったのでポートを10080に変更。

vi /etc/sysconfig/jenkins
$ diff /etc/sysconfig/jenkins
?c?
<     JENKINS_PORT=8080
---
<     JENKINS_PORT=10080

Nginxの設定変更

以下でNginxのインストールと設定を行っている事を前提。
CentOS 6.5にGitLab 6.8をインストールとSSL導入
http://qiita.com/narumi888/items/da664ce0aca5373fd9aa

# vi/etc/nginx/conf/gitlab

以下の設定を追加。

# ADD
upstream app_server {
  server 127.0.0.1:10080 fail_timeout=0;
}

serverブロックに以下を追加。

server {
    # ADD
    # Jenkins
    location ~ /jenkins {
        proxy_read_timeout 300; # Some requests take more than 30 seconds.
        proxy_connect_timeout 300; # Some requests take more than 30 seconds.
        proxy_redirect     off;

        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   Host $host;

        proxy_pass         http://app_server;

        access_log  /var/log/nginx/jenkins_access.log;
        error_log   /var/log/nginx/jenkins_error.log;
    }
}

再起動。

# /etc/init.d/nginx restart

Jenkinsへアクセス

以下のURLでJenkinsの画面が表示される。

https://IPアドレス/jenkins

ルートディレクトリを変更

成果物の配置場所を変更したい場合のみ。
Jenkins起動後にWebページから変更。

Jenkins画面から「設定」>「システムの設定」>「高度な設定」

ワークスペース・ルートディレクトリ

/home/jenkins/${ITEM_FULLNAME}/workspace

ビルド・ルートディレクトリ

/home/jenkins/${ITEM_FULLNAME}/build

デフォルトだと\${JENKINS_HOME}から始まる\${ITEM_ROOTDIR}が設定されている。
\${ITEM_FULLNAME}使えば、他のディレクトリにworkspaceやbuildsを設定できる。

セキュリティ設定

デフォルトだと全て公開で誰でもビルドを設定できてしまう。
なので、WebページからBasic認証を導入する。

Jenkinsの管理
-> グローバルセキュリティの設定 -> セキュリティを有効化に有効
-> ユーザー情報のJenkinsのユーザーデータベースに有効。
-> ユーザーにサインアップを許可を有効。
-> 権限管理をログイン済みユーザーに許可にする -> 保存
-> ユーザー作成 -> ログイン
-> Jenkinsの管理 -> グローバルセキュリティの設定
-> 権限管理 -> 行列による権限設定を選択 -> 匿名ユーザーの権限を全て無効
-> 作成したユーザーに全権限を付与 -> 保存

これでTOPページBasic認証を導入される。

49
49
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
49