使用 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 键(很明显),所以他们的措辞很奇怪。可能是因为我对这方面不是太有经验。
无论如何,万一有人遇到同样的问题 - 这是答案。
我已添加服务器的 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 键(很明显),所以他们的措辞很奇怪。可能是因为我对这方面不是太有经验。
无论如何,万一有人遇到同样的问题 - 这是答案。