Рубрики
Uncategorized

Развертывание монорепосов Azure в GitHub

С растущим внедрением микросервисов, один из обсуждаемых вопросов-это моно-репо … Tagged с Azure, GitHub, DevOps, Monorepo.

С растущим принятием Микросервисы , один из вопросы иногда обсуждается это моно-репо против многорепо , который пытается ответить, если вы структурируете свой код, чтобы иметь Один большой отдельный репозиторий Для всех/нескольких микросервисов или Индивидуальные, небольшие репозитории Для каждого микросервиса.

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

Куду , двигатель, стоящий за git-развертками в Azure App Service, имеет Документация о том, как Настройка развертывания , но Только один из этих способов хорошо работает с моно-репо -Scenario Анкет Подход использования . Вызов -file, к сожалению, блокирует конфигурацию указанного проекта в ваш код исходного кода, так что это не сработает для моно-репос Анкет

Вместо этого используя Настройки приложения Доступно во всем Azure App Services , вы используете ключ Проект к Установите значение для пути проекта Вы хотите, чтобы вас развернули в ваших различных услугах Azure App. Таким образом, это решение работает для функциональных приложений, веб -приложений, приложений API и многого другого.

Пример

Если у вас есть следующая структура кода в вашем отдельном репозитории:

  • /src/ExampleProject/ExampleProject.csproj
  • /src/exampleproject. FunctionsApp/exampleProject. Functionsapp.csproj
  • /src/exampleproject. Webapiapp/exampleproject. Webapiapp.csproj
  • /src/exampleproject. Webapp/exampleproject. Webapp.csproj
  • /test/exampleProject. Тесты/Примерпроект. Tests.csproj

Тогда вы настроили свой ПРОЕКТ -Пат в Настройки приложения Для ваших различных приложений, таких как это:

  • Функциональное приложение : "src/exampleProject. Functionsapp "
  • Веб -приложение : "src/exampleProject. WebApp "
  • Приложение API : "src/exampleProject. Webapiapp "

С Пути относительно корневого пути Git-Repositor Анкет Вы также можете указать прямо на .csproj -Виль, если есть какой-либо риск неоднозначности в одном и том же файле.

Когда это будет сделано, вы можете Настройте услуги приложения Azure для непрерывного развертывания Использование того же хранилища , в GitHub, Bitbucket, Local GIT или любой другой источник, поддерживаемый в Azure.

Оригинал: «https://dev.to/sebnilsson/azure-deployment-of-mono-repos-in-github-27jc»