ожидаемое использование поддона от lein - PullRequest
2 голосов
/ 01 апреля 2012

Я читал о поддоне здесь: http://twoguysarguing.wordpress.com/2010/11/01/starting-a-cluster-on-ec2-with-pallet/,, а также на сайте поддонов: http://palletops.com/. Я все еще немного растерялся. Примеры расположены так, как будто я должен ввести код в REPL.

Но я думаю, что что-то упустил. Поскольку я чувствую, что (или я надеюсь) должна быть какая-то поддержка / интеграция lein, чтобы я мог определить некоторый код для раскрутки кластера, запуска кластера, остановки кластера, развертывания файла войны и т. Д. через серию команд Lein.

Я нашел следующий проект на github, но, похоже, он написан для работы с maven вместо lein: https://github.com/cemerick/clojure-web-deploy-conj.

И это очень близко к тому, что я хочу, за исключением того, что я хочу, чтобы это как-то было привязано к целям lein: http://cemerick.com/2010/05/12/provisioning-administration-and-deployment-of-couchdb-java-tomcat/.

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Leiningen wiki относится к pallet / pallet-lein .

У меня нет опыта работы с поддоном, но похоже, что плагин Leiningen проходитпервый аргумент плагина для функции в пространстве имен pallet.main, которая, кажется, вызывает в паллету.

Таким образом, аргумент foo в lein pallet foo будет передан в паллету.

0 голосов
/ 01 апреля 2012

Итак, я нашел следующее http://nakkaya.com/2010/02/25/writing-leiningen-plugins-101/,, которое описывает процесс создания собственного плагина.Как оказалось, это довольно просто.Создайте каталог верхнего уровня leiningen /, дайте ему имя пространства имен и функцию с тем же именем.И эта функция становится задачей в leiningen.Так, например, для предоставления машины все, что мне нужно сделать, это:

; In file leiningen/aws_provision.clj
(ns leiningen.aws-provision)

(defn aws-provision [project & args]
    (println "pallet code to provision the box here..."))

Затем из командной строки lein я могу сделать:

lein aws-provision

Я думаю, что pallet-lein не собираетсячтобы действительно иметь возможность делать то, что я хочу, потому что сведения о том, какой поставщик облака, какой размер машины, какие пакеты нужно установить на машину и т. д. будут различаться для каждого человека.

...