Типичная настройка пользователя для развертывания Capistrano в Tomcat на Linux-компьютере

Типичная настройка пользователя для развертывания Capistrano в Tomcat на Linux-компьютере

Я относительно новичок в темах CD и DevOps и пытаюсь настроить автоматические развертывания с помощью capistrano, что хорошо работает в моей локальной тестовой среде add hoc. Мне интересно, однако, как бы в идеале хотелось настроить пользователей в будущей целевой среде.

Например, процедура установки Ubuntu Tomcat устанавливает пользователя tomcat(6|7), который владеет процессом tomcat. Однако, используя этого пользователя, невозможно войти в систему по ssh, а для capistrano вам нужен пользователь с доступом по ssh для запуска всех команд. Как люди обычно решают эту проблему? Конечно, я придумал свое собственное решение, но мне интересно услышать, есть ли для этого наилучшая практика.

В конечном итоге, мою целевую среду будет формировать другая сторона, но я могу иметь право голоса в этом вопросе, поэтому мне хотелось бы знать, чего я хочу в идеале.

решение1

Есть множество методов сделать это, но самый лучший — настроитьсистема, чтобы пользователь развертывания с поддержкой SSH (которого вам нужно будет настроить) мог выдавать себя за tomcat или root по мере необходимости для выполнения развертываний. Фактические каталоги кода могут принадлежать tomcat или пользователю развертывания с правами, установленными так, чтобы tomcat мог использовать файлы.

desc "Restarts the tomcast service"
task restart_tomcat do
  set :user, "deployuser"
  run "sudo service tomcat restart", :roles => :tomcat_servers
end 

Или что-то в этом роде. Если sudo требует пароль, capistrano достаточно умен, чтобы запросить его.

решение2

Проверьте официальные рекомендации пакета о том, как настроить его. Посмотрите, как выбранный вами дистрибутив решает эту проблему в своем пакете. Возможно, есть некоторые HOWTO для дистрибутива или пакета, поищите их. Но будьте осторожны, читая о том, как это было решено в какой-то другой версии, часто бывает так, что конфигурация и возможности радикально меняются от одной версии к другой (и другие поддерживающие пакеты также могли измениться).

Связанный контент