Хобрук: Ваш путь к мастерству в программировании

Контроль версий внешней разработки для CMS

Я ищу передовую методологию управления версиями для нескольких интерфейсных разработчиков, работающих вместе над веб-сайтами на основе CMS.

Итак, у нас есть несколько сайтов на базе CMS, которые находятся в активной разработке. Если вам интересно, CMS - это DNN. На нашем тестовом сервере у нас есть фронтенд-разработчики, работающие с CSS, JS, а также добавляющие контент на страницы, который, конечно же, хранится в базе данных. У нас также есть разработчики модулей, у которых есть локальные копии исходной И базы данных, где они разрабатываются и продвигаются на тестовый сервер. И у нас есть сервер TFS, на котором разработчики модулей могут размещать свои репозитории для контроля версий.

У меня вопрос: как привлечь разработчиков интерфейса к контролю версий? У них не может быть локальных версий базы данных, потому что все обновления их контента (базы данных) будут постоянно не синхронизироваться с тестовым сервером. Для них нереально создавать сценарии изменений для своего контента / обновлений страниц для базы данных (не говоря уже о том, что это другой набор навыков, который сводит на нет цель использования CMS). Все они не могут размещать локальные копии файлов, а затем подключаться к общей удаленной БД, потому что приложение использует кеш памяти ... что будет ... как вы уже догадались ... не синхронизировано.

Я чувствую, что мне здесь чего-то не хватает, потому что другие организации должны каким-то образом это делать. Нам абсолютно необходим контроль версий для наших ресурсов JS / CSS.

Спасибо.


Ответы:


1

Фактически у вас есть два набора работы, которые следует рассматривать отдельно.

Первый - это ваша версия DNN и сделанные вами настройки. Они должны храниться в системе управления версиями, и вы должны создать конвейер развертывания для отправки битов от сборки на серверы.

Вторая - это ваши настройки в приложении, которые выполняются с помощью point'n'click. Они не поддерживают версии в традиционном смысле и должны считаться специфичными для экземпляра. Вы могли бы и, вероятно, должны были бы записать в скрипт все настройки данных и их версии. Таким образом, у вас будет папка для каждого экземпляра, который вы отправляете с состоянием, если данные на момент отправки.

13.02.2015
  • Спасибо, я думаю, я понимаю, о чем вы говорите ... Являются ли файлы CSS и JS для каждого экземпляра DNN частью работы, не связанной с версией? Я спрашиваю, потому что, поскольку наши дизайнеры / разработчики интерфейса создают страницы, они постоянно модифицируют эти файлы ... просто кажется, что имело бы смысл контролировать их версии. РЕДАКТИРОВАТЬ: Я также только что подумал, возможно, вы предлагаете, чтобы разработчики интерфейса не вносили изменения в эти файлы? Я полагаю, они могли бы размещать встроенные скрипты / стили на страницах по мере их продвижения. 13.02.2015
  • Нет, DNN поддерживает темы и компоненты / плагины. Все индивидуальные настройки «клиента» должны быть либо компонентом, либо темой. Таким образом, весь код / ​​настройки ваших клиентов могут сосуществовать в одной ветке. 13.02.2015
  • Он просто щелкнул. Я был так сосредоточен на том, как, я не думал о том, почему. Наш подход ошибочен. Спасибо за уточнение :) Я знал, что чего-то не хватает. 13.02.2015
  • Это моя постоянная работа ???? 14.02.2015
  • Новые материалы

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

    Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
    Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

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