Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there any robust Clojure continuous integration options?

I'm trying to integrate clojure into a continuous build . Any suggestions for A clojure enabled system like Jenkins, that is capable of doing the work for me via a plugin? I've seen some ad hoc tutorials, but not sure if there is a clear accepted method. I notice that clojure itself is built using CI, and since it's a java dialect, I'm assuming maybe if no such options exist, then maybe I could wrap a clojure build as a maven / ant task....

like image 787
jayunit100 Avatar asked Oct 18 '11 23:10

jayunit100


2 Answers

While Jenkins/Hudson is the most widely used for Clojure projects, you can use any CI system you like.

Clojure itself, all of the contrib projects, and various open source projects all use Maven to drive their builds and thereby can be hoisted into Hudson/Jenkins with relative ease. clojure-maven-plugin is what you're looking for to mirror such a setup.

You can also use Leiningen with Hudson/Jenkins (or really any other CI system) just by shelling out to lein as necessary. There is a somewhat clever way of setting this up through Jenkins itself here.

Finally, if you need ant, you can use clojure-ant-tasks.

like image 73
cemerick Avatar answered Oct 06 '22 02:10

cemerick


You want to do all the work in either ant/maven/gradle etc. because you want to be able to easily build your project locally as well as on a CI system. Once you can build locally with a well known build framework, you just call the same tasks/goals in Jenkins and its super easy at that point, since Jenkins integrates nicely with most build frameworks like ant/maven/gradle.

like image 43
c_maker Avatar answered Oct 06 '22 00:10

c_maker