#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認証を導入される。