Capistrano не несет ответственности за передачу кода (в смысле отправки изменений в SCM), вы все равно делаете это с помощью Git или другого вашего выбора SCM.
Capistrano по умолчанию регистрируется на серверах с именемв ваших «ролях» и перенесите код из вашего управления исходным кодом на каждый сервер отдельно.
Если у вас есть 10 серверов, и все они являются веб-серверами, вы бы назвали их всех в роли web
в Capistrano.
Есть отличные Руководства Github для получения дополнительной информации, но вкратце да;ожидается, что у вас настроены ssh-ключи для: а) входа на серверы под вашим deploy
пользователем и б) для того, чтобы ваш сервер мог получить доступ к управлению исходным кодом (часто это называется ключами развертывания).
@Предложение Артура о многоступенчатом capistrano полезно только при развертывании в нескольких средах, таких как «подготовка» и «производство», где процедура одинакова, но список серверов отличается.