我正在尝试将clojure整合到一个连续的构建中。对于像詹金斯这样能够通过插件为我工作的一个可以启用系统的建议吗?我已经看过一些临时教程,但不确定是否有明确的接受方法。我注意到clojure本身是使用CI构建的,因为它是java方言,我假设如果不存在这样的选项,那么也许我可以将clojure构建包装为maven / ant任务....
答案 0 :(得分:8)
虽然Jenkins / Hudson是Clojure项目中使用最广泛的,但您可以使用任何您喜欢的CI系统。
Clojure本身,所有的贡献项目和各种开源项目都使用Maven来驱动他们的构建,因此可以相对轻松地提升到Hudson / Jenkins。 clojure-maven-plugin是您正在寻找的镜像设置。
您也可以将Leiningen与Hudson / Jenkins(或任何其他CI系统)一起使用,只需根据需要炮轰lein
即可。有一种聪明的方法可以通过Jenkins本身设置here。
最后,如果您需要蚂蚁,可以使用clojure-ant-tasks。
答案 1 :(得分:2)
您希望在ant / maven / gradle等中完成所有工作,因为您希望能够轻松地在本地以及CI系统上构建项目。一旦你可以用一个众所周知的构建框架在本地构建,你就可以在Jenkins中调用相同的任务/目标,并且在那时它非常容易,因为Jenkins很好地与大多数构建框架如ant / maven / gradle集成。
答案 2 :(得分:1)
作为数据点,我使用:
重要的一点是,通过使构建与Maven一起工作,您可以非常轻松地连接到标准的基于Java的CI工具生态系统。就Travis CI而言,它只是另一个Java项目 - 从构建过程的角度来看,Clojure被有效地视为额外的Java库。这是travis.yml
配置:
language: java
jdk:
- oraclejdk7
- openjdk7
- openjdk6
以下是使用此方法的示例开源项目:
答案 3 :(得分:0)
Lambda CD可能就是你想要的。它允许您在clojure中编写构建和传递管道。它相对较新,似乎越来越受欢迎。 http://www.lambda.cd/