開発環境を捨て去りたい(その1)*1
飽きてきたらまずは、CI環境からいじくりまわすことにしてみた。
とりあえず、個人的備忘録としてハマった事をメモしときます。
やりたかった事:
- gitHubにpushしたらjenkinsにbuildを開始する
- buildはsbtで実行
- sbtでは、Java/Scala共にテストコードを走らせて、レポーティングできること(Scala未確認)
- sbtでは、java/Scala共にテストカバレッジが何らかの手段でとれる事(Scala未確認)
- ツール等は極力最新のものを使う
以下ハマった点。
- sbtのtestタスクでは、JUnitのテストも走らせたい
- さくらクラウド上のJenkinsで実行すると、UnknownHostExceptionが発生する
- /etc/hostsに自分のホスト名の情報を追記する
- テスト実行時のカバレッジがとりたい
- sbtのプラグインリストに2つほど記載されていたけど、jacoco4sbtの方がすんなり動いたのでこっちを利用する
- その結果、testタスクは封印し、jacoco:coverタスクを叩くことになった
- JenkinsがGitHubへアクセスするときに秘密鍵のパスフレーズを聞いてくる
- opensslコマンドでパスフレーズを取り除いた(久々過ぎて忘れてたorz)
- テストの結果をファイルに残したい(結構初めのころに着手)
git clone git://github.com/hydrasi/junit_xml_listener.git cd junit_xml_listener.git sbt publish-local mv .ivy2/local/eu.henkelmann/junit_xml_listener/scala_2.9.1/sbt_0.11.2/0.3/ivy2/ .ivy2/local/eu.henkelmann/junit_xml_listener/scala_2.9.1/sbt_0.11.2/0
最後の行はWindowsだけかな?さくらクラウド上(CentOS 5.7)ではなくてOKだった。
とりあえず、悪戦苦闘したのはこの辺りかな?後は、Jenkinsの設定と、sbtのビルド定義見れば多分分かるはず。