Не знаю, помогает ли это кому-нибудь, но просто хотел ответить на мои вопросы:
Вопросы:
Вы бы включили Proj B, C и D в структуру каталогов Proj A? Если да, то при компиляции каждого проекта вы бы сделали каталог выпуска для каждого проекта каталогом Proj A Bin?
Мы решили сохранить proj A (Sitecore web) в качестве отдельного репозитория внутри папки Sitecore rCS.
Эта папка содержит репозитории и папку DLL:
DLLs
dev1_PUBLIC
dev2_PUBLIC
dev3_PUBLIC
INTEGRATION_STAGING
PRODUCTION_STAGING
- Чтобы запустить функцию / исправить все разработчики, установите ванильный Sitecore и выполните PULL для обновления там локального мастера из PRODUCTION_STAGING
- Оформить локальную ветвь функции, назвав ее в соответствии с заявкой / проектом. Запустите локальный updateDll.bat, чтобы выгрузить обновленные dll.
- Работать, часто совершать, проверять и проверять
- PUSH местный мастер
- Нажмите на "xxxx_PUBLIC".
- Свяжитесь с менеджером по интеграции, чтобы он / она мог ВЫТЯНУТЬ из общего доступа в INTEGRATION_STAGING.
- IM тянет к Integration (QA), запускает локальный updateDll.bat, уведомляет dev, чтобы продолжить и тестирует интеграцию с Sitecore или другим проектом
- Если проверка подтверждена, IM запланирует PULL на PRODUCTION и запустит локальное обновление DLL, bat. Если производство в порядке, IM будет откатывать изменения обратно к PRODUCTION_STAGING, чтобы новая копия была готова.
Мы решили, что proj B, C и D (компоненты C #) имеют свой собственный репозиторий для каждого проекта в папке dotNetProjects.
Каждая папка проекта содержит несколько репозиториев:
dev1_PUBLIC
dev2_PUBLIC
dev3_PUBLIC
INTEGRATION_STAGING
PRODUCTION_STAGING
- Чтобы запустить функцию / исправить все разработчики, клонируйте копию PRODUCTION_STAGING на локальный компьютер.
- Оформить локальную ветку функций, назвав ее согласно заявке / проекту.
- Убедитесь, что выходная папка для проекта указывает на папку "libells" в проектах dotNetProjects. Работайте, часто совершайте коммиты, тестируйте, проверяйте и создавайте проект. проверьте dll дату и время.
- PUSH местный мастер
- Нажмите на "xxxx_PUBLIC".
- Свяжитесь с менеджером по интеграции, чтобы он / она мог ВЫТЯНУТЬ из общего доступа в INTEGRATION_STAGING.
- IM тянет к Integration (QA), запускает локальный updateDll.bat, уведомляет dev, чтобы продолжить и тестирует интеграцию с Sitecore или другим проектом
- Если проверка подтверждена, IM запланирует PULL на PRODUCTION и запустит локальное обновление DLL, bat. Если производство в порядке, IM будет откатывать изменения обратно к PRODUCTION_STAGING, чтобы новая копия была готова.
Как / когда вы автоматизируете включение "dll" Proj B, C и D в каталог bin Proj A?
Папка вывода для каждого проекта установлена в папку dotNetProjects / releasells, которая не является репозиторием, а просто папкой для размещения dll, связанной с SItecore.
Разработчики, добавляющие функции / исправления в sitecore, должны запускать updateDll.bat локально, чтобы получить новейшую версию dll. Вот простой скрипт:
xcopy /E /Y "\\servername\dotNetProjects\ReleaseDlls\*.dll" C:\development\sitecore\WebSite\bin
ПРИМЕЧАНИЕ:
Шаги 4-8 идентичны выше,
редактор давал мне головную боль, поэтому я
только что вышел из резервирования.
Принимая во внимание все dll, что касается Sitecore, мы все еще хотели gitignore dll, потому что это может быть головной болью для наших бизнес-пользователей. Таким образом, чтобы сохранить dll как игнорируемый файл, наш обходной путь - это быстрое решение, описанное выше. Это не то, что мы хотели бы, но если это
работает для вас, используйте его, если нет, игнорируйте.