2

我在这里阅读有关托盘的信息:http: //twoguysarguing.wordpress.com/2010/11/01/starting-a-cluster-on-ec2-with-pallet/,以及在托盘站点上:http:// Pallops.com/。我还是有点困惑。这些示例的排列方式就像我希望在 REPL 中输入代码一样。

但我想我错过了一些东西。因为我觉得(或者我希望)应该有某种 lein 支持/集成,这样我就可以定义一些代码来启动集群、启动集群、停止集群、部署 war 文件等。通过一系列 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-雄猫/ .

4

2 回答 2

1

Leiningen wiki指的是pallet /pallet-lein

我对托盘没有任何经验,但看起来 Leiningen 插件将第一个插件参数传递给pallet.main名称空间中的一个函数,该函数似乎调用了托盘。

因此,参数fooinlein pallet foo将传递给pallet。

于 2012-04-01T12:59:15.277 回答
0

所以我找到了以下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 并不能真正做到我想要的,因为哪个云提供商、哪个机器大小、要在机器上安装哪些包等细节对于每个人都会有所不同。

于 2012-04-01T17:43:16.997 回答