Java 是否有可靠的Clojure连续集成选项?
我正在尝试将clojure集成到一个连续构建中。对于像Jenkins这样的支持clojure的系统有什么建议吗?它可以通过插件为我完成这项工作?我看过一些特别的教程,但不确定是否有一个明确的可接受的方法。我注意到clojure本身是使用CI构建的,因为它是java方言,我假设如果没有这样的选项,然后,也许我可以将clojure构建包装为maven/ant任务……您希望在ant/maven/gradle等中完成所有工作,因为您希望能够轻松地在本地以及CI系统上构建项目。一旦您可以使用一个著名的构建框架在本地构建,您只需在Jenkins中调用相同的任务/目标,这一点非常简单,因为Jenkins可以很好地与大多数构建框架(如ant/maven/gradle)集成 虽然Jenkins/Hudson在Clojure项目中使用最广泛,但您可以使用任何您喜欢的CI系统 Clojure本身、所有contrib项目和各种开源项目都使用Maven来驱动构建,因此可以相对轻松地提升到Hudson/Jenkins中。是你想要的镜像这样的设置 您也可以使用Hudson/Jenkins(或任何其他CI系统),只需根据需要发送到Java 是否有可靠的Clojure连续集成选项?,java,ant,maven,clojure,continuous-integration,Java,Ant,Maven,Clojure,Continuous Integration,我正在尝试将clojure集成到一个连续构建中。对于像Jenkins这样的支持clojure的系统有什么建议吗?它可以通过插件为我完成这项工作?我看过一些特别的教程,但不确定是否有一个明确的可接受的方法。我注意到clojure本身是使用CI构建的,因为它是java方言,我假设如果没有这样的选项,然后,也许我可以将clojure构建包装为maven/ant任务……您希望在ant/maven/gradle等中完成所有工作,因为您希望能够轻松地在本地以及CI系统上构建项目。一旦您可以使用一个著名的构建
lein
。有一种聪明的方法可以通过詹金斯自己来建立这个系统
最后,如果您需要ant,您可以使用。作为数据点,我使用:
- Maven构建polyglot Clojure+Java项目
- GitHub用于SCM
- Travis CI用于基于GitHub源的持续集成
travis.yml
config:
language: java
jdk:
- oraclejdk7
- openjdk7
- openjdk6
下面是一个使用这种方法的开源项目示例:
- Lambda CD可能是您想要的。它允许您在clojure中编写构建和交付管道。它相对较新,似乎越来越受欢迎。
再次投票给詹金斯;我在Leiningen中使用它非常成功,只使用了一个基本的shell命令。上面的链接是一种方法,但是简单地通过apt安装leiningen而不是单独的CI作业并没有什么错。@Chas,“有点聪明的方法”的链接断了。您有什么理由不再推荐货盘吗?(我找到了这个链接:)所以。。。。雷宁安是直接建设的一个选择吗?你是在建议我用maven/ant/gradleAnt包装Leiningan,maven、Gradle和Leiningen是对等的,后者可以(并且是)一直独立于其他人使用。它是否满足您的需求是一个独立的问题(例如,leiningen没有像Maven那样明确的发布概念,但是ant和gradle也没有)。在任何情况下,人们总是从他们的主要工具中调用其他构建工具,因此ant的maven任务、maven antrun插件等等。Leiningen实际上是在maven ant任务的基础上构建的,因此有多个级别的海龟。:-)