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

Главные вкладки

Аватар пользователя Jonny Gavanny Jonny Gavanny 3 ноября 2023 в 13:00

Подскажите плз, как всё-таки правильнее разрабатывать сайт - создаем на локалке и потом обновляем на хостинге (использую nic.ru, обычны хостинг) или сразу пилить на хостинге?

Комментарии

Аватар пользователя gR3m4ik gR3m4ik 3 ноября 2023 в 13:56

https://t.me/drupal_beginner/85316/87279 - во первых
Советую пообщаться тут, много что за хостинг могут подсказать

При разработке сайта. Вы можете развернуть как вам удобно. На хосте или локально (благо openserver или докер это поможет вам).
При локальной разработке. У вас меньше гемороя с настройкой, т.к. вы настроили 1 раз для себя сайт и изредка там что-то меняете (максимум версию php | mysql ...etc). Вы спокойно отрубаете кэш, включаете дэбаг и разрабатыываете полноценно функционал, который вам нужен. Из минусов - нельзя использовать вебхуки, тут надо на хосте разместить и тестить.

На хосте - если кратко, вероятность того, что какие-то данные, которые вы не хотите показывать, на этапе разработки / доработки на хосте будут показаны в мир.
Или же, если вы создали на хосте и потом уже он пущен в мир. Вам, допустим, нужно доработать сайт - при доработке на хосте вы не даете спокойно работать клиентам или вовсе сломаете сайт - то не есть хорошо.

По этому, на начальных этапад. можно даже чистый проект развернуть на хосте. Сделать клон его и локально дорабатывать. После заливать все на хост и тестировать

Аватар пользователя VasyOK VasyOK 3 ноября 2023 в 17:26
2

Правильно - разрабатывать у себя.
Но это надо знать как развернуть окружение и как в этом окружении работать. Поэтому ничего страшного, если вы пока будете прямо на хостинге разрабатывать на тестовом сайте, а потом переносить на продакшн.
nic.ru - если у вас получилось по прошлой теме там сайт Композером собрать - я очень рад. У меня там нормально сидеть не получалось даже на 7ке.

Аватар пользователя gR3m4ik gR3m4ik 5 ноября 2023 в 0:55

На хостинге делают за счёт конструкторов.
И с 90% не согласен. Там часть сайтов просто висят как блог. Полноценный, хороший проект разворачивается локально (сюда же и сервера внутри компаний для тестов, на определенных этапах релиза публикуют в свет .
Друпал может и развернут сразу, но вся доработка идёт локально у большинства нормальных девов

Аватар пользователя gun_dose gun_dose 5 ноября 2023 в 8:57
2

Можешь пояснить, как именно экономится время и деньги? По-моему, наоборот. Причём очень сильно наоборот. Во-первых, тебе приходится платить за хостинг, пока сайт ещё не готов. Во-вторых, когда работаешь с кодом, локально ты правишь что-то и сразу видишь изменения, а на хостинг нужно ещё синхронизировать файлы, либо работать через весьма ограниченный текстовый редактор, встроенный в панель управления. В-третьих, локально удобнее использовать отладку. И в-четвёртых, если работаешь над сайтом, у которого уже есть посетители, то в процессе сайт будет часто недоступен или будет неправильно работать или плохо выглядеть, что в принципе неприемлемо.

Аватар пользователя jura12 jura12 5 ноября 2023 в 16:03

зависит от задач и условий.
у меня на чтение документации и работу всего 2 часа в день.
у меня 3х точек с которых я работаю. настраивать их все и синхронизировать очень геморно.
перед началом работы делаю общий бекап и те файлы которые меняю.
есть модуль переключающий тему оформления по условиям theme_switcher .
редактирую файлы посредством программы mcedit или vim на хостинге.
xdebug для меня не нужен. стараюсь на php не программировать. даже если программировать то все равно можно на сервере. зависит от степени вовлеченности и подхода.

я вчера сделал ошибку. ввиду забагованности не моего сайта сделал операции на домашнем сайте. потом эти же операции пришлась делать на рабочем сайте. потратил в 2 раза больше времени.

Аватар пользователя gun_dose gun_dose 5 ноября 2023 в 20:29
1

Для синхронизации есть гит. Поработал на одном компе, закоммитил, и запушил, на втором сделал пулл и продолжаешь.

Аватар пользователя Andruxa Andruxa 6 ноября 2023 в 12:48

Все так, но. В случае частой смены компов, придется пушить незавершенную работу, плюс синки базы-файлов.
Я так понял, что ТС хочет удаленный сервер разработки 24х7, к которому можно подрубаться из локальной IDE по ssh/(s)ftp.
Ну или поднять там же Web IDE, можно прям в своем гитлабе.

Аватар пользователя gun_dose gun_dose 6 ноября 2023 в 12:57
1

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

Аватар пользователя webadmin webadmin 5 ноября 2023 в 16:44

с пивом и воблой )
в бегете самый дешевый впс стоит 210 в мес. 1ядро, 1гб ram, 10гб диска. вполне шустро работает и композер не спотыкается
Для разработки личных проектов вполне годный вариант, а на домашней машине настроить рабочее окружение для верстки и кода.

Аватар пользователя kosskren kosskren 27 декабря 2023 в 17:28

Привет.

Тут скорее вопрос удобства и зависит от ситуации. Каждый выбирает свой путь. В своей работе использую следующие подходы:

Вариант 1:
Если разработка с нуля и потом сайт на поддержке остается.
Разработка ведется на локальном сервере. Все наработки коммитятся в гит в тестовую ветку. Из тестовой ветки настроен автоматический деплой на тестовый сервер. На тестовом сервере сайт показывается клиенту перед сдачей.
Когда требуется перенести правки на живой сайт, то сливаем тестовую ветку в мастер ветку и там в ручном режиме запускаем деплой.

Вариант 2:
Если пришел клиент с готовым сайтом на поддержку.
Поднимаю сайт у себя локально, вношу правки, тестирую и потом закидываю просто через ФТП/SSH измененные файлы.

Вариант 3:
Пришел клиент с готовым сайтом, но задачи бывают редко. Локальную копию, как правило не поднимаю. Правки произвожу сразу на живом сайте. Но тут могут быть исключения, зависит от задачи.

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

Аватар пользователя Andruxa Andruxa 27 декабря 2023 в 21:16
1

Чужие сайты на поддержке тоже лучше добавлять в гит - чтобы потом было понятно, что было сделано до, что - после приемки сайта.
Если версия 8+, то сначала беру comoser.json и composer.lock, делаю composer install, коммит, а затем сверху заменяю файлами проекта - сразу тайное становится явным.

Аватар пользователя kosskren kosskren 28 декабря 2023 в 8:27

Не спорю. В идеале все хранить в гите. Но всегда есть "но..."). Поддержка включает в себя не только разработка новых фич, но и банальные правки в админке сайта. скажем цену у товара поменять).
Самим клиентам без разницы, добавлен в гит их сайт или нет. Им главное результат.

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

Если взять OpenCart, то можно только тему сайта запихнуть в гит и то вопрос, на сколько это нужно, там бывает 3-6 файлов всего. Остальные правки делаются через разработку модуля или через модификацию файлов ядра через систему OCMOD. Это спец. xml файл, хранится в базе.

Аватар пользователя gun_dose gun_dose 28 декабря 2023 в 8:35

kosskren wrote: Остальные правки делаются через разработку моду

Так а где ты модуль разработанный хранить будешь?)) Опенкарт как раз та система, где весь проект целиком надо хранить в гите

Аватар пользователя pselfin pselfin 28 декабря 2023 в 14:18

Andruxa wrote: а затем сверху заменяю файлами проекта - сразу тайное становится явным.

Поясни пожалуйста. Ну сделал инсталл, импортировал конфиги (или скорее всю БД), залил файлы. Ну вероятно библиотеки, не часто через композер ставят. Зачем остальные "файлы проекта" поверх заливать? на случай хаков в модулях/ядре?

Аватар пользователя pselfin pselfin 28 декабря 2023 в 23:29
1

А как проявляется? Типа ты в Гите вообще все файлы хранить и после залива проверяешь что изменилось?

Аватар пользователя Andruxa Andruxa 29 декабря 2023 в 14:37

В гите - кроме vendor, web/sites/default/files и остальное по мелочи, типа settings.php, robots.txt.
Хотя, в свете последних событий, безопасники требуют чтобы vendor тоже лежала в гите. И один раз так нашлась папка vendor/vendor.