自動タスクはjenkinsですよね!!ってとある人に言われた。
存在は知っているが入れた事はない
では「いつやるか?」
「今でしょう!!」
またcentosがCUIなのでnginxのリバースプロキシ経由でホストOS側から参照できるようにする
環境
- centos6.3(ゲストOS)
- macosx10.8(ホストOS)
事前準備に必要なもの
- ここから先は全てroo(権限)ユーザーで実行しています
- nginx ※入れてない方はvirtualbox(centos)でnginxをwebsocketを使用出来る状態でインストールする方法メモを参照してください
参考にしたサイト
javaのインストール(古いバージョンの場合はアンインストール)
jenkinsはjavaが1.6.0 < しか動かないらしいです。(本当か?)
centosのデフォルトのバージョンだとjavaが1.5系なのでもしjavaが既に入ってる場合はアンインストールしましょう。
java -version
java version "1.5.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.8) (rhel-1.56.1.11.8.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
入ってた場合
yum remove java
javaのインストール
本家どおりで問題なし
yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
jenkinsのリポジトリの追加とjenkins本体のインストール
これも本家通りでOK
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の設定の追加
nginxにリバースプロキシの設定をかけるためには以下のファイルを編集する必要がある
vim /etc/sysconfig/jenkins
#修正前
JENKINS_ARGS=""
#修正後
JENKINS_ARGS="--prefix=/jenkins --httpPort=${JENKINS_PORT} --ajp13Port=${JENKINS_AJP_PORT}"
nginxのjenkinsの設定
ソースからコンパイルしている場合は/usr/local/nginx/conf/nginx.confとか
yumでインストールしている場合は
/etc/nginx/conf/conf.d/default.confとかにあります。
httpディレクティブの項目に追加するだけです。
http {
#下記の項目を追加
#jekins
server {
listen 80;
server_name lo.jenkins.org; #host名
location /jenkins {
proxy_pass http://localhost:8080;
}
}
}
jenkinsの起動
いつもどおり
/etc/init.d/jenkins start
Starting Jenkins [ OK ]
jenkinsの自動起動設定
これもいつもどおり
chkconfig jenkins on
nginxの再起動
動いていなければstartだけOKです。ちなみにrestartだと動かなかったです。
/etc/init.d/nginx stop
nginx を停止中: [ OK ]
/etc/init.d/nginx start
nginx を起動中: [ OK ]
hostOS側のhostsを追加
ローカル環境だと思うので
ifconfigで自分のipを調べる
ifconfig
#下記の項目(inet)がどこかにあるのでメモしておく(デフォルトだと192.168.xx.xxx)なはず
inet addr:192.168.56.101
hostsファイルの編集
※windowsの場合は「windows host」とかでググってください。
今回はmacの場合で説明します
sudo vim /etc/hosts
192.168.56.101 lo.jenkins.org #ifconfigで調べたipとホストOSから見る場合のvirtualhostを指定する
動作確認
hostsで書いたアドレスにアクセス
今回はhttp://lo.jenkins.org/jenkinsにアクセスしてjenkinsが見えればOK!!
大体20分くらいでできました。