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。
コメント
コメントを投稿