【问题标题】:Capistrano deployment with Symfony 2 and Vagrant使用 Symfony 2 和 Vagrant 部署 Capistrano
【发布时间】:2017-09-22 17:27:12
【问题描述】:

所以我有一个链接到我的 github 的 cap 文件并设置为将我的项目部署到我的服务器。当我跑 bundle exec cap prod deploy 一切顺利。

我可以看到我的代码从我的仓库中被克隆,一个新的发布文件夹被创建并符号链接到当前文件夹。但是,我对代码所做的任何更改都不会反映出来。

被克隆的 repo 是我开始从事该项目时创建的原始 repo 的一个分支。除了在 twig 文件中添加一行之外,我没有对代码库进行任何更改。

我已经更新了 deploy.rb 以便它从我的分叉存储库而不是原始存储库中提取,并且可以在我的最新提交中看到代码更改。但是,更改并未反映在网站上。

任何想法为什么会发生这种情况?

干杯

【问题讨论】:

  • 非常感谢任何有关如何解决此问题的建议,如果您需要更多信息,请告诉我,我会编辑问题。

标签: symfony github capistrano


【解决方案1】:

除了使用不正确的 URL 指向分叉的 git 存储库之外,我想到了两种可能性 -

  1. 我偶尔会尝试部署我自己网站的新副本,但我还没有将最新代码从我的开发服务器(和本地存储库)推送到 Github 上的实时存储库,但是在部署期间从 Github 获取代码。
  2. 作为最后一步,Capistrano 更改 'current' 符号链接 指向“releases”目录中新部署目录的位置。您的网络服务器(apache 或 Nginx 必须设置为使用“当前”符号链接)作为基本目录的一部分(可能是 ..../current/web/,然后从该目录自动加载 app.php,除非存在 .CSS/JS/images/etc 的子目录/文件)。如果网络服务器配置引用的是“发布”目录,而不是符号链接,则它只是一个特定的、较旧的部署。

【讨论】:

  • 情节变厚了...当我在站点可用文件夹中检查站点的 .conf 文件时,它显示所有符号链接都设置为当前文件夹。非常奇怪的行为,因为我注意到我的本地副本也发生了同样的事情。我添加一个更改,保存文件,清除缓存(浏览器和 symfony)并刷新页面...... nada,没有更新。最奇怪的是,如果我随后 ssh 进入 vagrant 并检查我编辑的文件 是否已更新。只是没有显示更新。 tfw;被虚拟机控制-.-
  • 仅供参考,我肯定在更新正确的文件,我在整个项目中搜索了字符串(更改前),它在预期的 twig.html 文件中只出现一次...我也尝试过重新配置和重新加载我的流浪虚拟机。没有骰子。
  • DERPED 它...如果我添加 /app_dev.php 会出现更改。仍然不能在现场工作,但至少我可以在本地进行编辑。对现场网站问题的任何帮助都会很方便,如果我找到它会发布答案...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多