查看Leiningen教程中文版的源代码
←
Leiningen教程中文版
跳转到:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
=== 服务端项目 === 有很多种方式可以让你的项目作为服务端应用来部署。除了明显的uberjar方式之外,简单的程序可以使用[https://github.com/technomancy/lein-tar lein-tar]插件伴随着shell脚本打包成[http://en.wikipedia.org/wiki/Tarball tarball],然后使用[http://hugoduncan.github.com/pallet/ pallet],[http://opscode.com/chef/ chef]或者其他机制部署。Web应用可以作为uberjar部署,利用<code>ring-jetty-adapter</code>使用内嵌的Jetty,或者是使用[https://github.com/weavejester/lein-ring lein-ring插件]创建的.war文件。在uberjar之外,服务端部署是如此多变,以至于更好使用插件而非Leiningen内置的任务来处理。 如果你最终在生产环境里使用了类似<code>lein trampoline run</code>的任务来运行,那么确保你在部署之前采取了冻结所有依赖的措施,否则最终很容易会以[https://github.com/technomancy/leiningen/wiki/Repeatability 不可重复的部署]终结。考虑在你的部署单元里,连同项目代码包含<code>~/.m2/repository</code>。使用Leiningen在一个持续的集成配置里创建一个可部署的artifact是推荐的做法。例如,你可以用[http://jenkins-ci.org Jenkins]作为持续集成服务器(CI)来跑项目的所有测试套件,如果测试通过,上传tarball到S3(译者注:amazon的Simple Storage Service)。那么部署就变成只是在你的生产服务器下载并解压一个已知是良好的tarball的事情。 另外,请记住<code>run</code>任务默认会包括<code>user</code>,<code>dev</code>和<code>default</code>配置项,这些并不适合生产环境。使用<code>lein trampoline with-profile production run -m myapp.main</code>是更推荐做法的。默认情况下,生产配置是空的,但是如果你的部署包含了<code>~/.m2/repository</code>,这个部署是从产生tarball的CI运行得来的,那么你应该在<code>:production</code>配置里添加它的路径作为<code>:local-repo</code>,并且和<code>:offline? true</code>一起。保持离线,可以让已经部署的项目跟CI环境里测试的版本彻底分开。
返回到
Leiningen教程中文版
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面