Рубрики
Uncategorized

Настройка базового уровня ZMBRACO с Lazure DevOps

В моем предыдущем посте я изложил свой опыт с облаком Umbraco. Это сводится к тому, что если y … помечен с помощью rombraco, devops, Azure.

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

Поэтому я расследую альтернативы, которые позволяют рабочую процессу управления выпуском … Но я все еще хочу базовый и автоматический модернизацию.

Дежол — это союз людей, процесс и продукты для обеспечения непрерывной доставки ценности нашим конечным пользователям.

Девопс состоит из намного больше, но в этом посте я буду набросать, как я буду использовать CI

Непрерывная интеграция (CI) — это процесс автоматизации сборки и тестирования кода каждый раз, когда члена команды совершают изменения в контроль версий.

а также CD

Непрерывная доставка (CD) — это процесс создания, тестирования, настройки и развертывания из сборки в производственной среде.

Конечно, при разработке сайтов Umbraco вы держите свой код в SourceControl, добавляя Ci в смесь, мы можем убедиться, что код «сборки», когда начинаются новые изменения.

Постановка сайта

Для простоты я буду держать все в Azure DevOps . Но вы также можете иметь это, например, github.

Скажем, у меня есть проект Umbraco с тестовым проектом Core + Web +.

Затем вы можете сначала установить конвейер, который создает и развертывает тестовую версию (из ветви выпуска). Таким образом, новые функции разрабатываются на функциональных филиалах, когда им нужно перейти к клиенту для просмотра, вы создаете запрос на тягу или объединить филиал функции с выпуском.

Установка этого довольно проста .. Просто добавьте новый трубопровод (и я склонен выбирать классический визуальный редактор)

Далее вы должны выбрать источник … при выборе Azure вам просто нужно выбрать из раскрывающихся (в каком проекте/репо/ветке), легко!

После этого вы можете выбрать шаблон трубопровода (я выбираю Azure Web App для ASP.NET, поскольку Umbraco — это веб-приложение ASP.NET, и я хочу развернуть в Azure) ..

Выбор этого шаблона большинство вещей уже на месте.

Единственный шаг, который требует внимания, выбирает подписку Azure и App Service, которую вы хотите развернуть в … (Так, конечно, вам нужна азаронная подписка с существующей прикладной службой).

Как только все выбрано, у вас сейчас работает процесс CI, CD для тестовой среды. Таким образом, коды получают оттолкнутуся к отключению филиала … что запускает сборку и развертывание …

Одна небольшая сторона, лучше всего состоит в том, чтобы включить преобразование XML в задаче развертывания службы приложений Azure, таким образом, что вы можете иметь * .Release.config Файловые преобразования (например, для настроек, которые отличаются между вашим dev env и фактическим тестом env). Такие вещи, как Conn Strings, также могут быть установлены так, как и на DevOps или в Azure … (В зависимости от того, как вы хотите, чтобы он настроен). Кроме того, не имея его в SourceControl заключается в том, что существует дополнительный уровень безопасности (чувствительные настройки не должны идти в контроль источника).

Живые сайты

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

Таким образом, добавление нового трубопровода, который создаст артефакт (пакет WebDeployPloy) из главной ветви. После того же шагов, что и прежде, но удаление некоторых задач и добавления 1 нового

Теперь это будет запустить, когда новый код предан главной ветви … Каждый раз, когда будет сгенерирован новый артефакт.

Важно здесь — это имя артефакта (нам нужно это имя позже), а также путь файла или каталога, для этого я использовал доступную переменную $ (система. DefaultWorkingDirectory) \ (не уверен, что это правильно, но он работает!)

Далее устанавливает выпускной трубопровод, поэтому в выпусках части трубопроводов просто добавляют новый (Это должно заставить вас начать с артефакта и сцены)

Затем артефакт указывает на последний конвейер (где мы создаем артефакт), нам также нужно указать имя артефакта здесь. (необходимо соответствовать с тем, что находится на трубопроводе)

Наконец, задача на ребенка установлена … Это просто использует задачу развертывания службы Azure App Service, которая указывает на правильную службу приложений (снова, вам нужно иметь приложение, созданную на вашем портале)

Снова прочее, как Conn String Shoudl не устанавливается в Web.config в контроле источника, но вы можете установить их в DEVOPS или в портале Azure.

Так что теперь, когда сборка артефакта завершена, развертывание произойдет с моими 2 дочерними сайтами, используя ту же базу …

Конечно, это описывает основы … У меня тоже есть Usync В смеси, который обрабатывает контроль версий многих вещей Umbraco (например, DOCTYPES, DETATYPES, …) и Auto Imports их на дочерние сайты … Тогда с бесшумное обновление Также удивительный бесплатный аддон в Умрако от Кевин прыгает Добавлена мы можем сначала проверить модернизацию localy, и если это удается развернуть его как часть релиза … просто добавьте пакет Nuget и установите (возможно с преобразованием конфигурации)

Теперь у меня есть 1 кодовая база для всех сайтов … с помощью темы, который мог бы работать в разных взглядах и почувствовать каждый дочерний сайт … Таким образом, контент определяется темой … Если вы хотите, чтобы другой код кодовой базы, которая также возможна. Новый Git Reppo, добавьте базу как происхождение, и вы можете нажать/толчок с базы … Конечно, вам потом нужно настроить новый конвейер сборки/выпуска для этого чехла …

У вас также могут быть промежуточные сайты для всех детей … просто создайте артефакт Release и добавьте новый выпускной трубопровод … Развертывание в местах постановки …

Конечно, хранение блога также возможно, опять возможны, каждый ребенок будет иметь собственную конфигурацию …

Ключ состоит в том, чтобы развить с концепцией базового сайта в виду, поэтому сделайте все как можно более гибко, может даже ввести некоторые интерфейсы, чтобы вы могли переключать разные биты в зависимости от конфигурации. Например, система отслеживания заявителя, Child A A может использовать контент Umbraco, Child B внешний API … Создание того, что сбой по-прежнему позволяет одному кодовой базе …

Если вы хотите получить контент от Live, чтобы развить/тестировать против вы можете добавить Usync полный который содержит Usync Publisher Отказ Или просто загрузите БД и запустите на этом локально …

  • Подключите и играйте в своем существующем потоке Dev (не имеет значения, где у вас есть ваш Sourcecode, GitHub, Bitbucket, …)
  • Superbe Loadging каждого шага, если что-то пойдет не так, у вас есть подробные журналы, доступные в DEVOPS … Вы можете увидеть их по мере прохождения сборки/развертывания
  • Можно запустить тесты подразделения и не развертываем Если эти сбой
  • Не единственная точка отказа, скажем, хостинг идет вниз, вы можете настроить развертывание на новую конечную точку … Девопс идет вниз, используйте профиль публикации непосредственно от VS
  • Нет внезапного роста цен, когда вы попадаете в определенные ограничения на использование (PageViews/Node/Domain/BUSTWIDTH/Media), это просто масштабы в зависимости от того, что вы используете.
  • Вы можете воспользоваться уже существующей задачей в DEVOPS для дальнейшего Finetune CD CI, как Сайт Warmup Step , спасибо Sjors Действительно
  • Поддержка форума включена;)
  • Кевин предоставляет звездную поддержку (даже для его свободных дополнений)
  • Вам нужны некоторые дежопты/лазурные знания (но множество документации там, поскольку все это связано с вашим учетной записью Microsoft, это Super легко выбрать правильные вещи …)
  • Установка нового ребенка принимает некоторую ручную работу (около 30 минут) Создать сервис приложений, БД, обновление конвейера выпуска … (Вы можете посмотреть на автоматизм это, если у вас есть знания/время)

Если Облака Umbraco не представляет значительное падение цен и позволит работать рабочем процессом управления выпуском, я бы не оглянулся в два раза. Azure DevOps — действительно зрелый продукт, который делает всю постоянную интеграцию/доставку ветером …

От того, что я слышу, другие люди также используют Осьминог развертывает а также Действия GitHub чтобы получить подобный рабочий процесс.

Оригинал: «https://dev.to/timgeyssens/setting-up-an-umbraco-baseline-ish-flow-with-azure-devops-3319»