7月 112012
 

※要参照:さくらのレンタルサーバーでのdaemon実行は禁止?

さくらのレンタルサーバーはJavaが入っていないが、自分で入れればJenkinsを動かす事が出来る。

1. Javaを入れる
  1. feebsdfoundationのJREをダウンロード(ちょっと古いので、OpenJDKとかを自分でビルドした方がいいかも?)
    FreeBSD Foundation Java Downloads
  2. 適当なディレクトリに解凍
bzip2 -d diablo-latte-freebsd7-i386-1.6.0_07-b02.tar.bz2
tar xvf diablo-latte-freebsd7-i386-1.6.0_07-b02.tar
2. Jenkinsセットアップ
  1. war版Jenkinsをダウンロード
  2. 適当なディレクトリに配置
  3. 下記のような起動/終了スクリプト作成
  4. start-jenkins.shを実行して起動、stop-jenkins.shを実行して終了する事を確認
#!/usr/local/bin/bash
JENKINS_WAR=~/jenkins/jenkins.war
JENKINS_LOG=~/jenkins/jenkins.log
JAVA=~/java/diablo-jre1.6.0_07/bin/java
nohup $JAVA -jar $JENKINS_WAR > $JENKINS_LOG 2>&1 &

#!/usr/local/bin/bash
kill `ps -ef | grep '[j]enkins.war' | awk '{ print $1 }'`

※JENKINS_HOMEは~/.jenkinsとなる。

おまけ1. cron登録

マシンが再起動されても立ち上がるよう設定する。
効果があるかは試してないので不明…

crontab -e

@reboot ~/jenkins/start-jenkins.sh >/dev/null 2>&1
おまけ2. Apacheからリダイレクトされるようにする

面倒だから試してないけど出来るかもしれない。
.htaccessでmod_rewiteが利用できるため、うまくルールを作ればリダイレクトできる可能性あり。

参考:
さくらレンタルサーバで java を利用する
configuring ProxyPass on .htaccess to show tomcat through apache http server – Stack Overflow
【さくら共用】RewriteRuleで静的URLにしようとしたら404エラー | Server Hosting Guide
システム起動時に特定のコマンドを実行するには - @IT
再起動時に一度だけ実行されるcron定義
Starting and Accessing Jenkins – 日本語 – Jenkins Wiki
webhtm.net日記: psをgrepした結果にgrep自身のプロセスを出力させない
プログラムを作ってます さくらのレンタルサーバでbashを使う