Capistrano3部署迁移服务器失败之后(Capistrano3 deploy fails af

2019-10-29 15:10发布

我使用Capistrano的3.在过去,我可以成功地部署到我的服务器。

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

  • SSH接入(I更新SSH信用凭证,并确保我可以不使用密码进行连接authorized_keys
  • (我更新部署迪尔staging.rb因此与SSH凭证一起)
  • 现在cap可以连接到我的新的服务器,以便验证看上去都不错。

有问题的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目录下,因为这将在部署(我想当时)创建。

在接下来的部署,我得到了同样的错误。 所以我做了一些google搜索,我最终加入以下钩:

# 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的PID等)或当前目录?

Answer 1:

我设法解决我的部署和我不知道,而我所采取的步骤是真正需要的。 我记录了这个SO后的解决方案: 在部署模式捆扎机没有找到宝石



文章来源: Capistrano3 deploy fails after migrating the server