Как тестировать каждую ветку отдельно?

Всем привет!
В общем, есть стартап, с которым мы работаем удаленно. Есть главный репозиторий (главная ветка - preprod) и есть форк.

Как идет процесс разработки:
1. Создаем ветку:
git checkout -b ticket/111 origin/preprod --no-track

2. После работы пушим ветку в наш репозиторий (форк). Далее мержим эту ветку в тестинг и деплоим на наш тестинг-сервер, где тестировщик проверяет таску.
3. Если все ок, то ребейзим ветку и создаем PR на главный репозиторий (across forks).

Проблема: из-за того, что у нас отдельная тестинг ветка появляется куча конфликтов, т.к в нашей ветке есть код, которого нет в оригинальной preprod ветке. Приходится тратить дофига времени на фиксы этих конфликтов.

Пришли к выводу, что нужно тестировать каждую ветку отдельно. При пуше в наш форк сработает гит-хук и создаст проект с директорией и базой ticket-111. Далее добавляем домен в конфиг апача ticket-111.project-blabla.our-company.com.

Только есть некоторые проблемы: RabbitMQ и cron-задачи. На ум только пришло изменение файла supervisor. Скорее всего, придется создать отдельный репозиторий (в текущий репозиторий эти конфиг-файлы добавлять нельзя), где будут лежать эти файлы. После завершения задачи дополняем эти файлы и перезапускаем supervisor. Без понятия, как поведет себя rabbit с такой кипой воркеров.

Была ли у вас аналогичная проблема и как разрулили?
  • Вопрос задан
  • 631 просмотр
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега PHP
Web developer
Лучше тестировать не ветку, а pull-request.

Чтобы было меньше конфликтов, лучше делать мерджи и релизы почаще. А можно вообще использовать Continuous integration.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы