Задать вопрос
romash
@romash
web-разработчик

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

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

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

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

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

Похожие вопросы