Hi,

This email is not stricly about Clojure but about a tool that is useful to the 
open source Clojure
ecosystem, so I hope it is appropriate to post this kind of stuff here.

travis-ci.org has had Clojure support for several months now but we'd not 
gotten around to announcing it here.  So, here we go:

travis-ci.org is a hosted continuous integration system for the open source 
community. It started in the Ruby
community in 2011; since then, it has grown to support Erlang, Clojure, 
Node.js, PHP, Java, Groovy, and Scala, and now hosts over 6000 projects, 
including some big names like Ruby on Rails, RubyGems,
Bundler, Leiningen, parts of JRuby, Node.js, Rubinius and so on.

Why projects are adopting travis? Here are just a few reasons why:

* Travis CI integrates with Github: to get started, all you need to do is to 
add one one file to your git
repository.  For Clojure, that file will very often consist of just one line.

* Travis CI environment provides many popular data stores and messaging tools 
out of the box (e.g. mysql, postgresql, mongodb, redis, couchdb, riak, 
rabbitmq, etc).

* Travis CI runs your builds in isolated VMs that are snapshotted and rolled 
back between builds so
  you can use passwordless sudo to customize the environment (such as modifying 
~/.m2/settings.xml) without affecting subsequent builds

* Travis CI makes it trivial to have CI for forks of projects you may be 
contributing to. Just fork it, create a branch,
  add your fork to travis and work on your changes. Once you are done, include 
travis CI build URL to your pull request.

* Travis CI makes your CI status visible to the community thanks to our status 
badges that projects add to their READMEs.

* Travis CI lets you link to publicly available build results (including 
specific lines), very useful when reporting issues.

All this makes working on Clojure projects hosted on Github a little bit more 
enjoyable.


To get started, please refer to our Getting Started guide: 
http://about.travis-ci.org/docs/user/getting-started/


Clojure-specific guide that explains how to use Midje, install lein multi, 
override test command to do
Java compilation with lein javac and so on:
http://about.travis-ci.org/docs/user/languages/clojure/


To learn what is available in the CI (VM) environment, use this guide:
http://about.travis-ci.org/docs/user/ci-environment/


Who is already using Travis CI in the Clojure community? We already host 
popular Clojure
tools and libraries like Leiningen, clj-time, congomongo, clutch and so on. I 
personally have 13
Clojure libraries up on travis, some can be used as examples of various Travis 
features:

Monger, uses provided MongoDB and lein multi:
https://github.com/michaelklishin/monger/blob/master/.travis.yml

Neocons, uses provided Neo4J Server and lein multi:
https://github.com/michaelklishin/neocons/blob/master/.travis.yml

Langohr, uses provided RabbitMQ:
https://github.com/michaelklishin/langohr/blob/master/.travis.yml

Elastisch, installs Elastic Search before running builds against it:
https://github.com/clojurewerkz/elastisch/blob/master/.travis.yml


If you have any questions, I will be happy to answer them here or in #travis on 
irc.freenode.net.


Thank you and I hope you will find travis CI useful for your Clojure project!


MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to