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....
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With