Простой ручной деплой из git на виртуальный хостинг?
Добрый день!
У меня есть вопрос - правильно ли я делаю ручной деплой сайта из github на сервер.
На локальном компьютере я верстаю и собираю сайт, затем отправляю на gitub. Далее захожу по ssh на вирт.хостинг (в моём случае - beget) и клонирую проект.
И в целом - всё работает. А смущает меня то, что на гитхабе я держу и исходники, и готовую сборку. Соответственно и на хостинг также тянутся все исходники вместе с папкой .git. И кажется, что это как-то не особо правильно.
Как один из вариантов - папку со сборкой я назвал public_html и на хостинг клонирую в общую папку с сайтом. Таким образом на хостинге в папку public_html (доступную из вне) попадает только сборка. Уже лучше, но все исходники хотя и не попадают в public_html, но всё равно тянутся на хостинг.
Кажется, что я что-то не догоняю - помогите, пожалуйста, новичку )
p.s. Речь идёт именно о простом ручном деплое без хуков и развертывания CI.
Собирайте локально, и вместо того чтобы заходить на сервер по ssh, отправляйте туда уже собранное через scp/rsync.
Зачем пушить это в гит чтобы тут же пойти и оттуда достать?
greencost, можно хранить и артефакты но надо понимать зачем вы это делаете. В вашем случае я так понимаю что ответа нет, поэтому лучше только исходники.
А то что систему сделали как-то для вас - вас запретили её трогать и переделывать?
Честно говоря, уже и не помню какой он, ручной деплой. Все что помню, мы в те времена проект собирали прямо на сервере... Но точно вам скажу - хранить сборку в гите вместе с исходниками неприемлимо. Даже без ci, можно было бы написать скрипт, который бы собирал, архивировал и потом копировал на удалённый сервер проект по scp. Ну да ладно, даже простоо руками все это можно проделать. - собрать архив, скопировать на сервер и распаковать.
Почему неприемлимо? Разработка ведется на разных устройствах (и иногда - разными людьми). Хранить в гите всё (ну, кроме папки node_modules) - кажется очень логичным и удобным.
greencost, в гите принято хранить исходные к коды. Избыточную информацию, все что можно восстановить из исходников там не хранят, в т.ч. артефакты сборок. Зачем этот хлам версионировать?
До написания скриптов - выполнение операций руками. После - ci. Готовых решений нет. Рекомендую выполнить все вручную, а затем, когда будете удовлетворены результатом, накидайте последовательность команд в скрипты для сборки и деплоя. И вот их уже можно поместить в репозиторий. Главное не указывать никаких паролей в них