|
Drone.io 是一个持续集成的云服务,用于项目的自动构建、测试及部署。目前支持 Dart、Go、Node.js 等12种语言,版本管理支持 Git、SVN、Mercurial,可以与 GitHub、Google Code、Bitbucket 无缝集成。如果你的开源项目托管在这些平台上,那么加入到 drone.io 就非常方便。
drone.io 对 Dart 语言项目提供了一个 Triggers 特性,每当发布新的 Dart SDK 时可以自动执行构建和测试。这对于 Dart 项目特别合适,因为当前 Dart 版本变化较快,常带来一些不兼容的改变。现在已有很多 Dart 项目使用了 drone.io ,如 web-ui、bot.dart 等。在这些项目中,你会看到一个 passing by drone.io 的状态图片 ,这表明此项目已通过它自己的测试,至少说明它与当前 SDK 兼容的,所以就可以放心使用了。测试通过带来就是对项目的信心。
所谓持续集成就是每当项目源代码中有新的提交变化时,就要重新构建项目并跑一遍测试,如果有问题就能及时发现。比如“每日构建”就是每天执行一遍。
所谓云服务就是把这个工作托管给第三方服务,由它们 check out source 并执行指定的命令构建和测试。
比如对 C 的项目一般就是:
./configure
make
make test
对 Dart 项目就是:
pub install
test/run.sh (执行所有 dart 测试,如 dart your_library_test.dart )
|
|