Назад | Перейти на главную страницу

Запускайте сценарии оболочки как root, хотя Jenkins

У меня запущен экземпляр EC2. Как я могу запускать команды с sudo через Дженкинса? Когда я пытаюсь sudo touch /home/ec2-user/foo.bar, Я получаю следующую ошибку: sudo: no tty present and no askpass program specified.

Что я делаю не так?

По умолчанию sudo нельзя использовать без TTY. Для этого:

  • Отключить requiretty в sudoers (используя visudo)
    • Это должно означать комментирование 'Defaults requiretty' (с использованием visudo)

  • Убедитесь, что ваш пользователь может войти в систему без ввода пароля:
    • Установите 'NOPASSWD' в sudoers
    • Создайте пользователя, если он не существует

  • Установите visiblepw - это позволит sudo работать, даже если введенный пароль отображается
    • (требуется в некоторых случаях, когда нельзя отключить эхо).