使用 Mina 从 github 部署到 Digital Ocean - 在 "fetching commits" 上挂起

Deploy from github to Digital Ocean with Mina - hangs on "fetching commits"

我已添加服务器的 SSH 密钥以在 github 中部署密钥。

在 运行 mina deploy 之后,我得到以下信息:

-----> Quiet sidekiq (stop accepting new work)
       /var/www/myproject/tmp/build-157262358827785
-----> Fetching new git commits

它留在这里没有任何反应

当我按下 ctrl + c 时,它会说

-----> Mina: SIGINT received.
       Enter passphrase for key '/root/.ssh/id_rsa':
       Elapsed time: 1931.59 seconds

在我的 deploy.rb 文件中,我有 set :term_mode, nil - 人们说当它在输入 SSH 密码后挂断时你需要它,但我从来没有打扮过直到我按下 ctrl + c在控制台中。

无法输入密码

编辑:

我为详细输出做了一个 -v 标志:

 -----> Quiet sidekiq (stop accepting new work)
       $ cd /var/www/myproject/current
       $ if [ -f /var/www/myproject/shared/pids/sidekiq.pid ] && kill -0 `cat /var/www/myproject/shared/pids/sidekiq.pid` > /dev/null 2>&1; then
                     RAILS_ENV="production" bundle exec sidekiqctl quiet /var/www/myproject/shared/pids/sidekiq.pid
                   else
                     echo 'Skip quiet command (no pid file found)'
                   fi
       /var/www/myproject/tmp/build-157288289226943
-----> Fetching new git commits
       $ (cd "/var/www/myproject/scm" && git fetch "git@github.com:[company]/myproject.git" "dev:dev" --force)

-s 模拟显示这部分是 运行

if [ ! -d "/var/www/myproject/scm/objects" ]; then
    echo "-----> Cloning the Git repository"
    git clone "git@github.com:[company]/myproject.git" "/var/www/myproject/scm" --bare
  else
    echo "-----> Fetching new git commits"
    (cd "/var/www/myproject/scm" && git fetch "git@github.com:[company]/myproject.git" "dev:dev" --force)
  fi &&

好的,所以我发现这个已关闭的 github 问题:https://github.com/mina-deploy/mina/issues/449

我发现我只需要将 set :execution_mode, :system 添加到我的部署文件中。

github 问题的答案在 FAQ 上,但是,他们的措辞如下:

- Mina hangs after i type my password in
Mina assumes that you have set up the communication with your server through the public/private keys, not password. If you want to use the password you will have to change the execution mode:

我什至从未被提示输入密码,所以我不知道这适用于我。我也在使用 ssh public/private 键(很明显),所以他们的措辞很奇怪。可能是因为我对这方面不是太有经验。

无论如何,万一有人遇到同样的问题 - 这是答案。