好的,在你投票之前,请听我说......在线有很多通过Capistrano部署cakePHP / Wordpress / Drupal / Symfony的演练而且项目自己的文档相当不错,但是关于什么没有很多报道Capistrano默认确实。具体来说,执行git checkout到文件夹/timestamp
,/most-recent-timestamp
到/current
,webroot之前已经符号链接到/current
。
我问这个问题是因为我们有一个非标准的,黑客攻击的capistrano部署过程,原因有几个,我想让我们与默认行为保持一致。为了做到这一点,我想知道什么是背景,而capistrano的默认行为实际上是 。
cp -Ra /home/username/deploy/shared/./ /home/username/deploy/releases/20121026170156/
:此命令需要永远完成,我没有看到/shared
的任何文档被这样使用:/shared
扮演的典型角色是什么?
答案 0 :(得分:2)
虽然可能只是答案的开始,但却是理解任何FOSS项目的最佳方式之一is via the source。
来自PHP世界,您可能不熟悉Ruby Gem的组成方式。通过gem的/bin
目录中的文件存在,Gems可用于系统路径[作为可执行文件]。 Capistrano's is here - 从中你可以看到调用cap production deploy
的过程从哪里开始。
require 'capistrano/cli'
Capistrano::CLI.execute
在这种情况下,它会加载CLI库,然后在其中调用命令。从那里开始追踪你需要的东西。