Лучший рабочий процесс Git для Sitecore - PullRequest
0 голосов
/ 07 февраля 2019

Sitecore - это система управления контентом, которую использует моя компания.У нас есть три среды: Dev, Stage и Prod.мы используем BitBucket с SourceTree (используя рабочий процесс gitflow) для большинства наших разработок.

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

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

Итак, во время развертывания нам приходится проходить болезненный процесс объединения изменений, внесенных разработчиками, с изменениями на этапе, чтобы подготовить его к развертыванию.Есть ли какой-нибудь рабочий процесс git, который может работать для этого типа сценария?Спасибо!

1 Ответ

0 голосов
/ 07 февраля 2019

Это не мерзавец, а организационная проблема.Нельзя, чтобы разработчики работали над производством (т.е. с динамическими живыми данными) или производили работу на сайте разработки.Вы, должно быть, тратите невероятное количество времени на разрешение конфликтов слияния.

Чтобы решить эту проблему, разделите два поля - это может быть достигнуто с помощью ограничения времени, примененного поверх gitflow (что кажется хорошим выбором для шаблона git).Тогда ваш консервативный путь к выпуску будет выглядеть примерно так:

1) Менеджер захватывает календарь и определяет даты: замораживание функций, замораживание разработчиков, замораживание контента, релиз.

2) Добавление разработчиковдо момента замораживания функций, затем проведите их интеграционное тестирование и завершите работу над версией до тех пор, пока не заморозите.После этого вы можете быть уверены, что версия больше не будет меняться при разработке.

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

4) Проводить тестирование и редактирование.

5) Выпуск.

Но, лучше: Длячто-то с таким проворным потенциалом, как cms, это довольно длительный процесс.Если вы хотите использовать более непрерывную интеграцию, не используйте gitflow, не используйте дискретные выпуски: переход с производства, разработка отдельной функции, тестирование, объединение, исправление ошибок;то же самое для содержания.Сроки здесь: от нескольких часов до нескольких дней, чем короче, тем лучше.Потенциал конфликта слияния будет минимальным из-за жестких временных рамок для изменений в master по сравнению с большой разницей между двумя отдельными выпусками (гибкая разработка Google, непрерывная интеграция).

Слово об отделении контента: Когда вы говорите, что выС трудом объединяя функциональность с контентом, здесь возникает еще одна проблема: контент не должен мешать программируемым функциям, особенно в системе управления контентом.Если это произойдет, вам нужно либо больше разделять разработчиков и пользователей, либо - намного лучше - заставить их больше общаться друг с другом.Определите процессы, которые объединяют обе стороны и делают организационно невозможным создание конфликтующих творений путем совместной работы.Пусть они сидят вместе, если это возможно.Смена мест в зависимости от того, кто работает над тесно связанными темами.Как минимум, проводите регулярные (ежедневные) групповые встречи и создавайте возможность общаться между ними.Уложите свои временные рамки (говоря о действительно небольших кусочках работы между этапами, не больше давления для всего этого ...).

...