我正在使用Deployer将我的代码部署到多个服务器。今天开始部署后出现此错误:
[Deployer\Exception\RuntimeException (-1)]
The command "if hash command 2>/dev/null; then echo 'true'; fi" failed.
Exit Code: -1 (Unknown error)
Host Name: staging
================
Warning: Identity file /home/user/.ssh/id_rsa not accessible: No such file or directory.
Permission denied (publickey).
首先,我认为这可能与此服务器配置有关,因为我将完整安装移至另一个托管服务提供商。我试图触发部署到我在过去几天部署得很好的服务器,但随后出现了同样的错误。这很快将我的怀疑从服务器转移到了本地。
由于我在 docker 中运行 PHP(Deployer 是用 PHP 编写的),我认为这可能与我的 ssh-agent 没有从我的主机操作系统正确转发到 docker 有关。我通过直接从我的操作系统(Ubuntu,如果有帮助的话)使用全新的 PHP 安装来验证这一点。日志中不断弹出相同的警告。
使用ssh
命令登录时,一切似乎都很好。我仍然不知道这里发生了什么。有任何想法吗?
PS:我还在 Deployer 的 GIT 存储库中创建了一个问题:https ://github.com/deployphp/deployer/issues/1507