Как развернуть capistrano sidekiq monit с правильным разрешением

Проблема в том, когда я использую monit с capistrano. В чем мои ошибки?

INFO [843c196b] Running /usr/bin/env sudo mv /tmp/monit.conf /etc/monit/conf.d/sidekiq_admin-api_production.conf as deployer@XXXXXXXXXX
DEBUG [843c196b] Command: ( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.2.3 /usr/bin/env sudo mv /tmp/monit.conf /etc/monit/conf.d/sidekiq_admin-api_production.conf )
DEBUG [843c196b]    sudo: no tty present and no askpass program specified
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deployer@XXXXXXXXXX: sudo exit status: 1
sudo stdout: Nothing written
sudo stderr: sudo: no tty present and no askpass program specified

Я попробовал авторизацию с помощью ключа ssh.

Изменить разрешение папок для моего пользователя (/tmp/monit.conf /etc/monit/conf.d/)

набор: pty, false

set: use_sudo, false

файл sudo

Мой файл sudo:

# User privilege specification
root    ALL=(ALL:ALL) ALL
deployer ALL=(ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

2 ответа

Вам необходимо добавить директиву sudo, которая позволяет запускать команду без ввода пароля. Ошибка говорит вам, что sudo пытается запросить пароль и не может. Вероятно, команда NOPASSWD.

В capistrano 3 вам нужно установить pty. Разрешение команды sudo на вашем сервере без ввода пароля может поставить под угрозу ваш сервер.

set :pty, true
Другие вопросы по тегам