ruby-on-rails – Capistrano,Rails 3.2,标准配方?
我一直在开发Rails一段时间,但是到现在为止避免使用capistrano.
试图弄清楚如何开始,我对于资产管道部署的相当“标准”导轨3.x感到困惑.也许是因为在Google周围寻找历史的各个方面的答案,不同的历史时期,不同的东西被建立在上限之中. 我有一个应用程序,我保持在git,轨道3.2,资产管道,部署到只有一个主机与乘客. 想想,我基本上需要上限: 从git部署? 哦,废话,还有一件可怪的事情: 想想我将在部署服务器上使用全系统的rbenv安装.不知道这是什么. 什么是最标准,简单,可维护的方式来拥有帽子做所有这些事情?有什么我错过的吗?如果我指定的一些不符合标准,我很乐意使用标准的最佳实践(可能有例外或两个,我真的想要每个部署的git标签,即使这不是一个标准的最佳做法,虽然我会认为会是,看起来很困惑的文档它如何工作) 这里有简单的答案吗? 编辑:是的,我看了Cap维基.这可能是因为我很慢,但是我在那里找到了我没有的答案.甚至没有一个“入门”文档.没有关于盒盖配方中的默认值实际上是什么的文档.等等 更新:我写了自己的指南后,弄清楚了. https://gist.github.com/2161449 解决方法
那么,不用使用capistrano就是一个祝福:-).我越来越不喜欢它,但公平地说,它已经好多了,而这里的文档
https://github.com/capistrano/capistrano/wiki/解决了大部分的问题 – 关于RVM的部分可能足以作为rbenv的替代方法.您的配置应该与开箱即用的文件一起工作.
编辑:是的,你需要做自己的标签,但关键是想想你在capfile中写的方法只是系统命令(记住你可能没有你的正常shell路径和其他环境).按照其他git命令的例子,你会很好. 编辑:更好的答案(也许:-) >去这里:https://github.com/capistrano/capistrano/wiki/2.x-From-The-Beginning >应用程序名称是一个名称,如“my_application” 假设安装程序会相应地配置您的服务器.这里最可能的错误是您当前的机器需要ssh到远程机器的权限,远程机器需要访问源代码管理库.公钥是你的朋友. 之后,工作流程是: >进行更改 大多数组织都有某种分段或测试服务器.寻找“多级”来获取它,以便您可以进行帽子测试部署和帽子分期部署等. 要在git上部署一个分支(我认为一个标签),它的上限是-S< branch / tagname>部署(确保它的资本S,可能是小写). 一旦你这样做,你可能会在部署之前或之后要做的事情 – 例如发送电子邮件,重新生成站点地图,备份数据库等等.使用之前或之后的钩子编写自己的任务. 所以最重要的一点是,所有的文件都假定你知道它是怎么做的.简而言之,它使用ssh(ruby的net-ssh)从任何本地工作站部署远程服务器上执行命令.它会查看源代码树的头部(或指定的标签或分支),将其拉入服务器的新位置,执行其他操作(迁移,资源预编译)并准备好应用程序;一旦它看起来不错,它会改变一个符号链接(例如/ var / www / current指向新的位置,然后(在Passenger的情况下)调用touch app / tmp / restart.txt来使服务器重新启动. 更好? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |