3

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

Таким образом, работа со стеками LAMP и для клиента является проблемой одновременной работы на трех разных стволах одного и того же проекта. Итак, на данный момент есть три хоста (на одном сервере):

develop.myproject.ext
testing.myproject.ext
production.myproject.ext

Насколько это возможно, у проекта есть такой курс: 1. новые функции разрабатываются в develop версии проекта 2. только что завершены, они "копируются" в testing версию, где тестирование выполняется заказчиком 3. После того, как все работает , и клиент утверждает, что изменения представлены в production версии

Я использую Elementary OS и Sublime Text 3 с плагином SFTP (каждый раз, когда файл редактируется, сохранение автоматически загружается на хост назначения).

На данный момент я использую метод, который не очень удобен, то есть файл, в котором я отслеживаю обновленные файлы для каждого хоста, который очень дисперсионный (мне нужно знать для каждого хоста, куда я загрузил какой файл) и Вероятно, возникнут конфликты в случае, если они одновременно являются разработкой и тестированием (например, у меня есть версия 1.2 файла develop , 1.1 на testing и 1.0 на production).

Есть ли методология, программа, короче говоря, что-то, что может облегчить это управление?

Я уже оценил возможность использования Git (в частности, Gitlab), но это предполагает, что он должен каждый раз проходить из терминала (или использовать плагин в Sublime Text) для загрузки файла и по-прежнему иметь три отдельные ветви, которые, кажется, однако, неуправляемый (мне не нужно иметь всю историю и функции, которые предлагает мне git).

Поскольку все три хоста работают на разных базах данных, было бы удобно иметь инструмент управления, который автоматически переносит всю базу данных из рабочей среды на другие два хоста (тот, который постоянно обновляется). Однако это не особенно актуально, потому что я нашел временное решение с использованием серии автоматических сценариев bash.

Спасибо всем, кто решит мне помочь.

1 ответ1

1

Решение git должно хорошо работать с ветками для каждой сборки

  • развивать
  • тестирование
  • производство

Соответствующая ветвь может быть быстро переадресована в новую точку каждый раз, что упрощает синхронизацию трех версий.

пример

(1 | DTP)

Вы добавляете 2 коммита для разработки

(1 | TP) -> (2) -> (3 | D)

Как только вы счастливы, вы быстро тестируете

(1 | P) -> (2) -> (3 | DT)

Как только вы довольны этим, вы быстро перешли с производства на тестирование.

(1) -> (2) -> (3 | DTP)

Коммиты здесь могут быть слияниями в ветвях объектов или в зависимости от того, какой рабочий процесс вы предпочитаете

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .