Есть ли надежные варианты непрерывной интеграции Clojure? - PullRequest
5 голосов
/ 19 октября 2011

Я пытаюсь интегрировать clojure в непрерывную сборку. Любые предложения для системы с поддержкой clojure, такой как Jenkins, которая способна сделать работу для меня через плагин? Я видел некоторые специальные учебные пособия, но не уверен, есть ли четко принятый метод. Я заметил, что сам clojure построен с использованием CI, и, поскольку это Java-диалект, я полагаю, может быть, если таких вариантов не существует, то, возможно, я мог бы обернуть сборку clojure как задачу maven / ant ....

Ответы [ 4 ]

8 голосов
/ 19 октября 2011

В то время как Jenkins / Hudson наиболее широко используется в проектах Clojure, вы можете использовать любую систему CI, какую пожелаете.

Само Clojure, все проекты contrib и различные проекты с открытым исходным кодом используют Maven для запуска своих сборок и, таким образом, могут быть относительно легко перенесены в Hudson / Jenkins. clojure-maven-plugin - это то, что вы ищете для отражения такой установки.

Вы также можете использовать Leiningen с Хадсоном / Дженкинсом (или любой другой системой CI), просто добавив lein по мере необходимости. Есть несколько умный способ настроить это через самого Дженкинса здесь .

Наконец, если вам нужен муравей, вы можете использовать clojure-ant-tasks .

2 голосов
/ 19 октября 2011

Вы хотите выполнить всю работу либо в ant / maven / gradle и т. Д., Потому что вы хотите иметь возможность легко построить свой проект локально , а также в системе CI.Как только вы сможете выполнять локальную сборку с хорошо известной средой сборки, вы просто называете те же задачи / цели в Jenkins, и в этот момент она очень проста, поскольку Jenkins прекрасно интегрируется с большинством сред сборки, таких как ant / maven / gradle.

1 голос
/ 27 декабря 2012

В качестве точки данных я использую:

  • Maven для создания полиглота Clojure + Java проекты
  • GitHub для SCM
  • Travis CI для непрерывной интеграции на основе источника GitHub.

Важным моментом является то, что, сделав сборку работающей с Maven, вы можете довольно легко подключиться к стандартной экосистеме инструментов CI на основе Java. Что касается Travis CI, это просто еще один Java-проект - Clojure эффективно рассматривается как дополнительная библиотека Java с точки зрения процесса сборки. Вот конфигурация travis.yml:

language: java
jdk:
  - oraclejdk7
  - openjdk7
  - openjdk6

Вот пример проекта с открытым исходным кодом, использующего этот подход:

0 голосов
/ 01 марта 2017

Lambda CD - это, вероятно, то, что вы хотите. Это позволяет писать сборки и конвейеры доставки в ближайшем будущем. Это относительно новый, и, кажется, становится все более популярным. http://www.lambda.cd/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...