romash
@romash
web-разработчик

Как правильно вынести повторяющиеся части кода из нескольких проектов?

Есть несколько сайтов, в которых используется несколько одинаковых модулей.
Каждый модуль — это набор html, js, css и (или) php файлов, плюс ещё некоторые работают с базой данных.
Я уже вынес все эти модули в отдельные проекты, но пока это выглядит так:
1. В модуле происходят изменения, он проверяется, пушится на гитхаб;
2. В каждый сайт по очереди копируются изменившиеся исходники, возможно меняется структура БД (тоже вручную);
3. Проект проверяется, в его репозитории тоже происходит коммит(!).
4. git-ftp всё это дело грузит на продакшн, где, предварительно, тоже БД обновляется ручками.
Доступ по ssh при необходимости можно запросить, но там венда 0_о

Короче, заколебало меня это дело, хочется всё автоматизировать, особенно работа с базой меня вымораживает...
Добрые и умные люди, подскажите, какие технологии использовать, чтобы максимально всё это упростить? Вообще любому совету буду рад, но желательно всё-таки, чтобы была возможность после обновления модуля лёгкой командой в терминале обновить его в нужном проекте (лучше, если по целевым папкам исходники разлетятся, а ещё лучше сделать сразу минификацию и объединение с другими исходниками, хотя не знаю, насколько корректно это будет выглядеть для системы контроля версий), миграцию БД там сделать, а после проверки и допилки также легко обновить всё на сервере.

Как я понимаю, тут нужен прям набор инструментов, о которых я много-много слышал, но в голове сейчас такой бордак, что лучше получить хороший совет... Для лучшего понимания ситуации, все инструменты, которые я до этого использовал для разработки: notepad++ и браузер. С недавнего времени стал использовать VSCode, а вместе с ним гит приручился (почти, но я стараюсь).
  • Вопрос задан
  • 1420 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vyrkmod
Пишу на php. И не стыдно.
Чтобы не править базу руками - пишем миграции, будет фреймворко-зависимо но удобно вызываться из консоли. Всё что нужно выполнять помимо подтягивания кода (запуск миграций, например) - в git hooks.
Ответ написан
@khrnsb4y
У меня похожая ситуация. Решил использовать deployer. Сделал доступ по ключу на все сервера со своего компьютера. Можно создавать свои таски, объединять их по категориям, чтобы сразу на нескольких серверах выполнялось. С локальной вендой подружить сложно, но можно. Есть свои рецепты, но можно понаписать своих скриптов. Я самим деплоем не пользуюсь. В принципе, если бы я создал папку с sh скриптами, было бы тоже самое, но инструмент на php, что немного упрощает, есть некоторые вещи, которые полезные, а самому писать - не хочется время тратить.
С git hooks у меня не вышло, потому что всякое разное иногда нужно делать, на bash или python буду долго писать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект