markmariner
@markmariner

Как организовать работу с несколькими проектами с общим кодом?

Мы разрабатываем 2 проекта (а будет больше) на JS, Vue.js, используем npm и храним код в git-репозиториях.

Необходимо вынести общие компоненты (шаблоны кнопок, частей страниц и страниц целиком) в отдельный репозиторий, чтобы переиспользовать их во всех проектах.

Как использовать эти файлы во всех проектах? Создать поддиректорию и связать её с этим общим репозиторием? Создать npm-пакет? Как это сделать?

Разработчики могут вносить изменения в общие компоненты, создавать новые. Чтобы изменения не ломали другие проекты, необходимо организовать проверку изменений, быть может пулл-реквесы и их проверку. Как это сделать?
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
Необходимо вынести общие компоненты (шаблоны кнопок, частей страниц и страниц целиком) в отдельный репозиторий, чтобы переиспользовать их во всех проектах.

Как использовать эти файлы во всех проектах? Создать поддиректорию и связать её с этим общим репозиторием? Создать npm-пакет? Как это сделать?

NPM-пакеты. Хранить пакеты в собственном репозитории, например, Sonatype Nexus, версионировать их.

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

Используйте, например, Gitlab CE и MergeRequest. Запретите пушить напрямую в master. Попробуйте в работе придерживаться какой-либо модели ветвления, напр. Gitflow, если требуется обязательный review.

Так же, используя, напр. GitlabCI можно упростить себе жизнь, настроив автосборку слитых MR для ваших компонентов
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@aol-nnov
выбор невелик: раздельные репозитории, git submodules и monorepo

что взять - решать вам.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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