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

правильный способ развертывания с капистрано

Я ищу хорошие практики для развертывания с capistrano.

Я хотел бы начать с краткого описания того, как я выполнял развертывание.

capistrano устанавливается локально на компьютер разработчика. Я развертываю мысленный шлюз с опцией капистрано :gateway. Во-первых, я думал, что с :gateway вариант Мне нужно иметь ssh-соединение только с хостом шлюза, но оказывается, что мне нужно ssh-соединение (открытый ключ) ко всем хостам, на которых я хочу выполнить развертывание.

Я хочу найти удобный и безопасный способ развертывания приложения.

Например, в случае, когда начинает работать новый разработчик, гораздо удобнее поставить его public_key только на сервере шлюза, а не на всех серверах приложений. С другой стороны, я не хочу, чтобы у него было какое-либо соединение с серверами в частности ssh к шлюзу, поскольку он разработчик, ему нужно выполнять только развертывание.

Если вам известны передовые методы развертывания с помощью capistrano, сообщите нам об этом.

Capistrano разработан с учетом того, что ssh является основой для всего управления. Машина, используемая в качестве шлюза, должна как принимать, так и выдавать ssh-соединения. Вокруг этого нет ничего невозможного. Ваши разработчики получат ssh-доступ к шлюзу.

У вас есть некоторые требования:

  • Легкость добавления новых разработчиков в список авторизованных ключей целевых объектов развертывания.
  • Не хочу давать разработчикам полноценный терминал на шлюзе

Вам нужно решить, как вы собираетесь обрабатывать ввод с клавиатуры для целей развертывания. У вас есть два основных варианта:

  1. Используйте общий ключ, каждый получит его, и он будет встроен в изображение / цели.
  2. Используйте определенные ключи, каждый получает свои, и вы управляете списком authorized_keys через что-то вроде или .

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

У вас есть несколько вариантов ограничения действий разработчиков после того, как они подключатся к вашей системе по ssh.

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