Capistrano默认情况下是如何工作的



好吧,在你投否决票之前,听我说完。。。在线有很多关于通过Capistrano部署cakeHP/Wordpress/Drupal/Symfony的演练,项目自己的文档也很好,但没有太多关于Capistrano默认情况下实际做了什么的报道。具体来说,对文件夹/timestamp/most-recent-timestamp/current执行git签出,webroot以前已符号链接到/current

我之所以提出这个问题,是因为出于一些遗留问题,我们有一个非标准的、被黑客入侵的capistrano部署过程,我想让我们与默认行为保持一致。为了做到这一点,我想了解capistrano的默认行为到底是。

cp -Ra /home/username/deploy/shared/./ /home/username/deploy/releases/20121026170156/:这个命令需要很长时间才能完成,我没有看到/shared的任何文档被这样使用:/shared扮演的典型角色是什么?

虽然可能只是答案的开始,但了解任何FOSS项目的最佳方法之一是通过源代码。

来自PHP世界的您可能不熟悉Ruby Gem是如何组成的。通过在gem的/bin目录中存在文件,使gem可用于系统路径[作为可执行文件]。Capistrano的就在这里——从这里你可以看到调用cap production deploy的过程从哪里开始。

require 'capistrano/cli'
Capistrano::CLI.execute

在这种情况下,它加载CLI库,然后调用其中的命令。从那里开始追踪你需要的东西。

最新更新