JenkinsでSSHログインしてもにゅもにゅさせる時とかハマる事がある。
詳しい事は未調査。
JKSキーストアを事前に用意し、JavaオプションにhttpsPort
、httpsKeyStore
、httpsKeyStorePassword
を指定すれば良い。
[/xml]
これでhttps://localhost:8081/
でHTTPSアクセスできる。
リバースプロキシなApacheと連携したい場合などに必要となる事がある。
Javaの実行オプションに--prefix=/jenkins
という具合に付加すると、http://localhost:8080/jenkins
でサーバーが起動する。
[/xml]
Running Jenkins behind Apache – Jenkins – Jenkins Wiki
Set the context path in Windows by modifying the jenkins.xml configuration file and adding –prefix=/jenkins (or similar) to the
entry.
Set the context path when using the Ubuntu package by adding –prefix=/jenkins to JENKINS_ARGS in /etc/default/jenkins ( or in /etc/sysconfig/jenkins for RHEL/CentOS package)
Join Plugin – Jenkins – Jenkins Wiki
Join Pluginで対応可能。
このPluginは上流ジョブで設定を行う。
BuildResultTrigger Plugin – Jenkins – Jenkins Wiki
BuildResultTrigger PluginはコメントによるとどうもOR条件しか設定できない模様?
Jenkins標準と比べると設定するべき場所が下流ジョブだけになるのが利点か。
※要参照:さくらのレンタルサーバーでのdaemon実行は禁止?
さくらのレンタルサーバーはJavaが入っていないが、自分で入れればJenkinsを動かす事が出来る。
1. Javaを入れる
- feebsdfoundationのJREをダウンロード(ちょっと古いので、OpenJDKとかを自分でビルドした方がいいかも?)
FreeBSD Foundation Java Downloads - 適当なディレクトリに解凍
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
[/shell]
2. Jenkinsセットアップ
- war版Jenkinsをダウンロード
- 適当なディレクトリに配置
- 下記のような起動/終了スクリプト作成
- 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 &
[/shell]
[shell title=”stop-jenkins.sh”]
#!/usr/local/bin/bash
kill `ps -ef | grep ‘[j]enkins.war’ | awk ‘{ print $1 }’`
[/shell]
※JENKINS_HOMEは~/.jenkinsとなる。
おまけ1. cron登録
マシンが再起動されても立ち上がるよう設定する。
効果があるかは試してないので不明…
[shell]
crontab -e
[/shell]
@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を使う