0

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

Эти оба являются частью продукта (в смысле бизнеса/маркетинга).

Веб-приложение будет развернуто в облаке, и мобильное приложение будет развернуто в магазинах приложений для использования на мобильных устройствах.

Вряд ли будут сторонние потребители API.

Как веб-приложение, так и мобильное приложение будут разработаны с использованием того же языка (C# - ASP.NET Core и Xamarin), и есть некоторое потенциальное повторное использование/совместное использование кода, например. моделей.

Мы используем Git.

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

Должны ли кодовые базы веб-приложения и мобильного приложения использовать один и тот же репозиторий исходного кода или должен быть отдельный репозиторий для каждого? Что считается наилучшей практикой в ​​этом сценарии?

+0

Если они используют код обмена, имеет смысл иметь их в одном и том же репо. Но есть так много факторов, которые приводят это решение в отсутствие «правильного» ответа. – Jason

ответ

0

«Лучшая практика» немного субъективна.

В целом, я предпочитаю хранить основные подсистемы в отдельных хранилищах. Это означает, что у них может быть своя стратегия управления версиями, а при необходимости - разные команды разработчиков.

Как правило, вы хотите, чтобы ваш сервер REST имел известную стратегию управления версиями, и это проще всего, если у вас есть одно репо с его собственным конвейером и номерами версий выпуска. В зависимости от вашего проекта вы можете захотеть, чтобы ваши разработчики приложений работали с известной, «стабильной» версией служб, но вы хотите, чтобы ваша группа служб могла развертывать тестовые версии, не затрагивая команды приложений.

Вы можете достичь этого с помощью одного репо, но его гораздо проще построить с помощью специального репо для ваших услуг.

+0

Спасибо за ваш вклад. Чем больше я думаю об этом и о задачах автоматической фиксации для автоматизации выпуска, тем больше я предпочитаю хранить репозитории отдельно, используя управление пакетами (например, NuGet) для управления зависимостями и общими моделями. – Steve

 Смежные вопросы

  • Нет связанных вопросов^_^