Git 默认情况下Capistrano是如何工作的?
好吧,在你否决之前,听我说完。。。通过Capistrano部署cakePHP/Wordpress/Drupal/Symfony的在线演练很多,项目自己的文档也很不错,但是没有太多关于Capistrano默认情况下实际做什么的报道。具体地说,对文件夹Git 默认情况下Capistrano是如何工作的?,git,deployment,capistrano,Git,Deployment,Capistrano,好吧,在你否决之前,听我说完。。。通过Capistrano部署cakePHP/Wordpress/Drupal/Symfony的在线演练很多,项目自己的文档也很不错,但是没有太多关于Capistrano默认情况下实际做什么的报道。具体地说,对文件夹/timestamp,/最近的timestamp进行git签出,将其签出到/current,webroot以前已被符号链接到/current 我问这个问题是因为我们有一个非标准的、被黑客攻击的capistrano部署过程,这是出于一些遗留的原因,我想让
/timestamp
,/最近的timestamp
进行git签出,将其签出到/current
,webroot以前已被符号链接到/current
我问这个问题是因为我们有一个非标准的、被黑客攻击的capistrano部署过程,这是出于一些遗留的原因,我想让我们与默认行为保持一致。为了做到这一点,我想了解capistrano的默认行为实际上是什么
cp-Ra/home/username/deploy/shared///home/username/deploy/releases/20121026170156/
:这个命令要花很长时间才能完成,我没有看到任何关于/shared
被这样使用的文档:/shared
扮演的典型角色是什么?虽然可能只是答案的开始,了解任何自由和开放源码软件项目的最佳方式之一
来自PHP世界的您可能不熟悉Ruby Gem是如何组成的。gem通过gem的/bin
目录中的文件提供给系统路径[作为可执行文件]。-从这里您可以看到调用cap production deploy
的过程从哪里开始
require 'capistrano/cli'
Capistrano::CLI.execute
在本例中,它加载CLI库,然后调用其中的命令。从这里开始追踪你需要的东西。你问了几个问题,特别是关于
/shared
的部分是具体的,因此很难给出一个能帮助你的答案。谢谢@NewAlexandria。在哪里可以找到CLI库?还有一个lib/capistrano/CLI/
dir,它保存了您将在lib/capistrano/CLI.rb
中看到的所需文件。你可能会发现看一个更简单的宝石很容易。