Jenkins on dotCloud
前回書いた記事のアップデート。jetty をよく理解してなかった orz。シンプルに dotCloud に jenkins.war をデプロイするだけでいけますね。
プロジェクト作成
プロジェクト名を jenkins として作っています。
$ dotcloud create jenkins $ mkdir jenkins
ディレクトリ階層は以下のように。jenkins.war は jenkins-co.org からダウンロード。
$ tree jenkins/ jenkins/ ├── dotcloud.yml └── webapps └── jenkins.war
dotcloud.yml の内容
$ cat jenkins/dotcloud.yml www: type: java approot: webapps
まんまデプロイ。
$ dotcloud push jenkins jenkins/
jetty@dotCloud の設定
こっからは dotCloud のインスタンスに ssh アクセスして設定
(更新: user.home ごと書き換える)
$ dotcloud ssh jenkins.www # ssh でアクセス
ワークスペースを作成する。
$ mkdir jenkins $ chmod g+w jenkins
後は、jetty の設定。~/contexts/
ディレクトリ以下に、以下のような xml を追加。名前は何でもいいけど、とりあえず contexts/jenkins.xml
など。書いたのは、パスの設定と JENKINS_HOME
の設定だけ。ここで設定するので、ROOT.war とかに変更する必要もなし。
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.mortbay.jetty.webapp.WebAppContext"> <Set name="contextPath">/</Set> <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set> <Call class="java.lang.System" name="setProperty"> <Arg>JENKINS_HOME</Arg> <Arg>/home/dotcloud/jenkins</Arg> </Call> </Configure>
(追記) もしくは user.home
ごと設定する。この場合、ワークスペースが /home/dotcloud/.jenkins
になるので注意。
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.mortbay.jetty.webapp.WebAppContext"> <Set name="contextPath">/</Set> <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set> <Call class="java.lang.System" name="setProperty"> <Arg>user.home</Arg> <Arg>/home/dotcloud</Arg> </Call> </Configure>
なぜかデプロイの度に contexts/jenkins.xml
が消える。。。まーいいや。レッツ CI。
コメント
コメントを投稿