F# プロジェクトが利用できそうな外部CIサービスについてのメモ
タイトル通りだけど無料版っぽいものがあるもののみ対象。候補は4つ。
- Travis
- TeamCity
- AppVeyor
- Visual Studio Online
Travis
みんな大好き Travis ちゃん。 どうやって動かすのかと思いきや、なんとLinux系ならapt-get、Macならmonoをwgetしてインストールするという荒業を使う。以下Macな環境を対象とした .travis.yml の例。
language: objective-c env: matrix: - MONO_VERSION="3.2.7" install: - wget "http://download.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" - sudo installer -pkg "MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" -target / script: - お好みにあわせて記述
Monoでテストが通るか試せるのは大きいけど、いいのかこれ…? mono 3.2.7 だとまだ FSharp.Core 4.3.1.0 は同梱されていないんじゃないかなー。あと色々面倒くさいので FAKE を併用したほうがよさげ。 FAKE 使いたくないのだけどなー。
利用実績
- fsharp fsharp/fsharp · GitHub
- FunScript ZachBray/FunScript · GitHub
TeamCity
http://www.jetbrains.com/teamcity/
最初に"無料版っぽいもの"と書いた理由がこの人。 活発でウェブサイトを持っている、活動が活発なコミュニティの、フリーで非営利な開発プロジェクトについて(このあたり英訳あやしいので間違っていたらすみません)Open Source Licenseがあったりする。あくまでコミュニティ用。 使ったことがないのでこれ以上の言及は避ける。
利用実績
- fsharp
AppVeyor
[2014/03/18 URL修正]
.NETに特化したようなCIサービス。特化しているだけあって、準備がラクダ。 ほとんど設定せずとも F# 3.1 で VS2013 なプロジェクトがビルド & テストできる。試してないけどデプロイもできるようだ。
利用実績
[2014/03/19 Visual F# Power Toolsを追加. id:bleis-tift さん、情報提供ありがとうございます。]
- Visual F# Power Tools fsprojects/VisualFSharpPowerTools · GitHub
- FSharp.Compiler.Service をビルドしている人がいるけどコミュニ手公式なのか不明
- 自作ライブラリで試してみた pocketberserker/FSharp.Data.MsgPack · GitHub
Visual Studio Online
http://www.visualstudio.com/products/visual-studio-online-basic-vs
コラボレーション(?)サービスなので、正確にはCIサービスではないけど一応。BasicだとExpressも対象に含められる。 "Basic プランでの最初の 5 人のユーザーと、資格のあるすべての MSDN サブスクライバー (Visual Studio Professional with MSDN 以上) "という記述の通りである。 F# 3.1 は試したことがないけど、たぶん大丈夫なのではー。
利用実績
自作ライブラリで試したことくらいしかないので、実績求む。
感想
用途にあわせて選べば良いかと。