在使用Rake任务长时间部署应用程序后,我开始阅读Capistrano。它与Rake的相似之处真是惊人。许多并行命令(如cap -T
)和许多相同的概念(命名空间,任务)。
有谁知道背后的历史? Capistrano是Rake的延伸,还是建立在它之上?
答案 0 :(得分:19)
更新: Capistrano v3 switched back to using a Rake DSL而非滚动自己的DSL。
Capistrano v1和v2与rake没有依赖关系。它是从头开始编写的用于处理远程服务器的DSL。很明显,卡拉斯特拉诺的某些方面受到耙子的影响,但是Jamis Buck认为有必要让卡皮斯特拉诺独立站立。 Capistrano任务的行为与rake任务略有不同,它们的可钩性将它们与rake任务分开。
Capistrano因为没有以rake为基础受到了一些小批评,但至少在rails社区中它仍然是最受欢迎的部署工具。其他项目如Vlad the Deployer通过直接使用rake和ssh来反击capistrano的实现。
答案 1 :(得分:1)
Capistrano最初是作为一系列Rake任务开始的,但在开发过程中很早就独立了。