Play framework 2.3 (Scala版)で開発しているアプリをTravis ProでCIしていたのだけど、ビルド時間がネックになってきたのでインスタンス性能が高いと噂のCircleCIに移行することにした。

CircleCIの対応言語の中にScalaは入っていないが、Javaが使えるので特に問題はない(何故かちょっと古いsbtが入っていたのでexperimental扱いなのかな?)

circle.ymlは下記のようにしてる。

dependencies:
  cache_directories:
    - ~/.m2
    - ~/.ivy2
    - ~/.sbt

  override:
    - "./activator update"

database:
  override:
    - cp ./conf/test.conf.circleci ./conf/test.conf

test:
  override:
    - "./activator clean test"

deployment:
  development:
    branch: master
    commands:
      - pip install -r requirements.txt
      - fab dev deploy

Travis ProからCircleCIに移行して、CIにかかる時間が4分の1に短縮されて満足度高い。