Лучший способ автоматизировать настройку / обновление среды из git-репо?

У меня есть следующие настройки: локальная машина Debian с настройкой LAMP. Теперь мне нужно работать с PHP-проектом, который администрируется через git (или GitLab в частности).

Если я (или другие разработчики) присоединюсь к проекту, я должен сделать несколько мыслей:

  • Создать базу данных MySQL
  • Импортируйте схему MySQL
  • Создать vHost для Apache

Если я обновлю проект после некоторого времени бездействия, я должен обновить несколько соображений:

  • Изменения в схеме MySQL
  • Вставить / Обновить / Удалить записи

И это должен сделать каждый разработчик. Сейчас я ищу решение для автоматизации этого рабочего процесса. Однажды я рассмотрел Apache Ant и думаю, что инструмент может создать решение.

В файле Ant я могу создавать рабочие процессы для базы данных, vhost и других вещей. Дополнительно мне нужен инструмент для управления миграциями MySQL (может быть Phinx?). Этот инструмент также можно запускать с помощью Ant, поэтому я могу автоматизировать обновления MySQL во время / после оформления заказа.

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

К сожалению, мне нужна помощь и совет, чтобы найти правильный / лучший способ для моего случая.

PS: извините за любые грамматические ошибки. Английский не мой родной язык.

1

Решение

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

Если вы таким образом контейнеризируете и версируете свою БД, вам не понадобятся какие-либо инструменты миграции (надеюсь): инструмент, который вы выберете, будет обрабатывать версии в соответствии с дизайном. Но вы все равно сможете использовать Phinx или другое решение, например LiquiBase или же пролетный путь. Миграции в этом случае могут быть версионированы с помощью Git, рядом с вашей основной кодовой базой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]