是否有任何强大的 Clojure 持续集成选项?

发布于 2024-12-10 12:54:33 字数 204 浏览 1 评论 0原文

我正在尝试将 clojure 集成到持续构建中。对于像 Jenkins 这样能够通过插件为我完成工作的支持 clojure 的系统有什么建议吗?我看过一些临时教程,但不确定是否有明确接受的方法。我注意到 clojure 本身是使用 CI 构建的,并且由于它是一种 java 方言,我假设如果不存在这样的选项,那么也许我可以将 clojure 构建包装为 maven / ant 任务......

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....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

陪你搞怪i 2024-12-17 12:54:33

虽然 Jenkins/Hudson 在 Clojure 项目中使用最广泛,但您可以使用任何您喜欢的 CI 系统。

Clojure 本身、所有 contrib 项目以及各种开源项目都使用 Maven 来驱动其构建,因此可以相对轻松地提升到 Hudson/Jenkins 中。 clojure-maven-plugin 是您正在寻找的镜像此类设置的工具。

您还可以将 Leiningen 与 Hudson/Jenkins(或任何其他 CI 系统)一起使用,只需支付 < code>lein 根据需要。 这里有一种通过 Jenkins 本身设置的巧妙方法。

最后,如果你需要ant,可以使用clojure-ant-tasks

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.

菊凝晚露 2024-12-17 12:54:33

您希望在 ant/maven/gradle 等中完成所有工作,因为您希望能够在本地以及 CI 系统上轻松构建项目。一旦您可以使用众所周知的构建框架进行本地构建,您只需在 Jenkins 中调用相同的任务/目标即可,此时它非常简单,因为 Jenkins 与大多数构建框架(如 ant/maven/gradle)很好地集成。

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.

黎歌 2024-12-17 12:54:33

作为一个数据点,我使用:

  • 构建多语言Clojure+Java项目
  • Maven为SCM
  • GitHub Travis CI基于GitHub源代码进行持续集成。

重要的一点是,通过使用 Maven 进行构建,您可以轻松地连接到标准的基于 Java 的 CI 工具生态系统。就 Travis CI 而言,它只是另一个 Java 项目 - 从构建过程的角度来看,Clojure 被有效地视为一个额外的 Java 库。这是 travis.yml 配置:

language: java
jdk:
  - oraclejdk7
  - openjdk7
  - openjdk6

这是使用此方法的示例开源项目:

As a data point, I use:

  • Maven to build polyglot Clojure+Java projects
  • GitHub for SCM
  • Travis CI for continuous integration based off the GitHub source.

The important point is that by making the build work with Maven, you can hook into the standard Java-based CI tool ecosystem pretty easily. As far as Travis CI is concerned, it is just another Java project - Clojure is effectively treated as an extra Java library from the perspective of the build process. Here's the travis.yml config:

language: java
jdk:
  - oraclejdk7
  - openjdk7
  - openjdk6

Here's an example open source project using this approach:

浪菊怪哟 2024-12-17 12:54:33

Lambda CD 可能就是您想要的。它允许您在 clojure 中编写构建和交付管道。它相对较新,并且似乎越来越受欢迎。
http://www.lambda.cd/

Lambda CD is probably what you want. It allows you to write builds, and delivery pipelines in clojure. It is relatively new, and seems to be becoming more popular.
http://www.lambda.cd/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文