Как героку гарантирует, что только владельцы приложений могут сделать толчок к голому репо героку?
Heroku имеет действительно аккуратный механизм развертывания. Он пользуется популярным инструментом git. Для развертывания все пользователи должны сделать это
git push heroku master
Я читаю https://devcenter.heroku.com/articles/authentication с надеждой что-то настроить, чтобы я мог отказаться от ftp и использовать git push
для развертывания обновлений на моем не-героку веб-сервере.
Как heroku гарантирует, что только авторизованные пользователи могут 'git push' к heroku?
2 ответа
Сегодня Heroku использует проприетарное программное обеспечение, которое прослушивает TCP-соединения по SSH и HTTP и понимает только протокол GIT.
Это означает, что мы можем легко выполнить аутентификацию, проверив заголовки HTTP или закрытый ключ SSH, отправленный при открытии соединения, и отклонив его при необходимости.
Мы не использовали гитолит уже несколько лет.
Вы должны быть в состоянии достичь чего-то подобного на своем собственном сервере довольно легко, хотя.
Используя докку например.
Heroku, возможно, использовал gitosis ( устаревший с 2009 года) или gitolite, но это больше не так.
Вы можете нажать (через https или ssh), если вы являетесь владельцем приложения или соавтором.
Вы действительно можете передать владение приложением.