繁体   English   中英

迁移服务器后,Capistrano3部署失败

[英]Capistrano3 deploy fails after migrating the server

我正在使用Capistrano3。过去,我可以成功地部署到服务器上。

现在,服务器已迁移并具有新参数:

  • SSH访问(我更新了SSH凭据,并确保可以使用authorized_keys没有密码的情况下进行连接)
  • 部署目录(我相应地更新了staging.rb和SSH凭据)
  • 现在cap可以连接到我的新服务器,因此Auth看起来还不错。

current目录问题

但是,使用cap staging deploy时出现错误:

SSHKit::Command::Failed: if test ! -d /var/www/my-project/subdomains/dev/current; then echo "Directory does not exist '/var/www/my-project/subdomains/dev/current'" 1>&2; false; fi exit status: 1

我检查了一下,奇怪的是current目录仍然存在(与其他目录一起迁移了)。 我删除了current目录,因为它将在部署中创建(当时我认为是)。

在下一次部署中,我遇到了相同的错误。 所以我做了一些谷歌搜索,最后添加了以下钩子:

# Had to insert this hook after migrating the server
# Maybe this can be removed after the first successful deployment
after 'deploy:set_current_revision', 'deploy:symlink:release'

我认为这不是一个很干净的方法,但是从那时起,就创建了current目录,并且在进行cap staging deploy我走得更远。

现在,每当我设置Capistrano时,我都会为它的工作轻松而感到惊讶,但是现在,由于我已移至另一台服务器,因此我一直遇到问题。

我想知道:

  • 是否有新的方法分别在deploy.rbstaging|production.rb配置环境?
  • 在新环境中时,我是否必须删除现有的共享文件(例如,捆绑程序,tmp,pids等)或当前目录?

我设法解决了部署问题,但不确定是否确实需要执行哪些步骤。 我在此SO Post中记录了解决方案: 部署模式下的捆绑器找不到Gems

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM