search
LoginSignup
2

More than 5 years have passed since last update.

posted at

Organization

DartのCI環境について

こんにちは、らこです。DartのプロジェクトをCI(Continuous Integration)したい時の環境について比較とかします。

Travis CI

利点

  • GitHubとの連携が強い(Pull Requestの内容を自動でテストしてもしマージした時ビルド落ちないかどうかとか教えてくれる)

欠点

  • Dartサポートしてない

方法

ちょっと古い記事ですがファイル中のバージョン番号等以外は基本的にこのままです。

SETTING UP TRAVIS CI FOR YOUR DART PROJECT

おおまかな流れとしては

  1. node.jsでCI建てる
  2. ビルドのたびにDartSDK引っ張って環境を作る
  3. Dartのテスト実行

です。手間はありますが最初だけですので一度テンプレ作ってしまえばそんなに苦でもありません。ただDartSDK落としてきてインストールするところでちょっと遅くなるんでCIの実行時間が気になる方はやめたほうがいいかもしれません

drone.io

利点

  • Dart公式サポートされてる

欠点

  • 特に無い?

方法

私はこっちを推してますし、使ってます。ちょうどよく今日新しくDartのライブラリ公開したのでそのCIの手順を紹介します。

  1. GitHubに上げる
    こんなんです。 https://github.com/laco0416/objective_regex

  2. drone.ioからリポジトリを選択する
    サインインして、「New Project」からGitHubを選択するとリポジトリ一覧が出てくるので選びます。
    image

3.Dartを選ぶ
プロジェクトの種類をDartにします。
image

4.ビルドスクリプトを書く
CIで実行するビルドスクリプトを書きます。デフォルトでは「test/run.sh」を実行するようになってますが今回のプロジェクトにはそれは入れてないので、プロジェクトにあわせて書きました。
image

  1. 完成
    完成したら「Build Now」でさっそくビルドしてみましょう。ちゃんと通れば鮮やかなグリーンが拝めます。
    image

  2. バッヂを貼ろう
    せっかくCIしてるならプロジェクトが健全ですよというアピールのためにREADMEにバッヂを貼りましょう。
    image

image

まとめ

drone.ioがオススメです。近いうちにpub.dartlang.orgにアップロードされたパッケージはすべて自動的にdrone.ioでCIされるようになるらしいですがまだ動いてないです。詳細は pub.drone.io を参照してください

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2