【问题标题】:How does Capistrano work by default?Capistrano 默认是如何工作的?
【发布时间】:2012-10-27 00:21:55
【问题描述】:

好的,在你投反对票之前,请听我说...有很多关于通过 Capistrano 部署 cakePHP/Wordpress/Drupal/Symfony 的在线演练,项目自己的文档非常好,但是没有太多关于什么的报道Capistrano 默认情况下实际上。具体来说,对文件夹 /timestamp/most-recent-timestamp/current 执行 git checkout,webroot 之前已符号链接到 /current

我问这个问题是因为我们有一个非标准的、被黑的 capistrano 部署过程,由于一些遗留原因,我想让我们与默认行为保持一致。为了做到这一点,我想了解一下 capistrano 的默认行为实际上是什么的背景

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

【问题讨论】:

  • 你问了几个问题,尤其是关于/shared 的那一点是不具体的,因此很难给出可以帮助你的答案。

标签: git deployment capistrano


【解决方案1】:

虽然可能只是答案的开始,但这是了解任何 FOSS 项目is via the source 的最佳方式之一。

来自 PHP 世界的您可能对 Ruby Gem 的组成方式并不熟悉。通过 gem 的 /bin 目录中存在文件,系统路径 [作为可执行文件] 可以使用 Gem。 Capistrano's is here - 从这里你可以看到调用cap production deploy 的过程从哪里开始。

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

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

【讨论】:

  • 感谢@NewAlexandria。在哪里可以找到 CLI 库?
  • It's in the lib/capistrano/ dir,然后还有一个lib/capistrano/cli/ 目录,其中包含您将在lib/capistrano/cli.rb 中看到的几个文件。您可能会发现查看更简单的 gem 很容易,such a this one I wrote
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多