Фон
Не все используют Azure DevOps при развертывании веб-сайтов Optimizely в Optimizely DXP 😊. Недавно мы помогли клиенту, который хотел продолжить использовать Octopus Deploy для своей CI/CD, но нуждался в помощи с развертыванием в Optimizely DXP. Поскольку мы создали расширение развертывания Epinova DXP, специально предназначенное для Azure DevOps, мы стремились повторно использовать как можно больше кода. Это был результат этой реализации.
Предварительные условия
- Знание развертывания в Optimizely DXP
- Базовое понимание того, как работают модули PowerShell.
- Знания об Octopus Deploy
Большая картина
Мы взяли сценарии PowerShell из задач Azure DevOps, которые используются в расширении развертывания Epinova DXP, и создали модуль PowerShell с именем «EpinovaDxpToolBucket». Этот модуль можно загрузить из галереи PowerShell под названием «EpiCloud». Благодаря тому, что вся логика инкапсулирована в модулях PowerShell, становится легко повторно использовать один и тот же код в Azure DevOps, Octopus Deploy, на локальном компьютере или в других средах/системах.
После импорта модулей «EpiCloud» и «EpinovaDxpToolBucket» в Octopus Deploy в виде пакетов мы смогли создать шаблоны задач, использующие логику двух модулей PowerShell. Поскольку мы экспортировали шаблоны шагов в виде файлов JSON и PS1, другие установки Octopus Deploy могут легко повторно использовать эти шаблоны, просто импортировав их. При необходимости их можно использовать повторно.
Мы также настроили три среды, два жизненных цикла и один набор переменных, прежде чем пришло время создавать реальный проект в Octopus Deploy.
Проект был настроен для поддержки автоматического развертывания в среде DXP при выпуске нового пакета NuGet веб-сайта в репозиторий пакетов Octopus Deploy. Запускаемый жизненный цикл управляется TeamCity, который в данном случае используется в качестве сервера сборки. Мы также добавили канал, чтобы можно было вручную перезапустить развертывание, если что-то не будет одобрено во время развертывания в среде слота.
Как это настроить подробно
Поскольку пошаговый процесс документирован в репозитории Epinova DXP Deployment Extension на GitHub, мы не хотели дублировать информацию. Поэтому, если вы хотите прочитать подробное описание, вам следует посетить https://github.com/Epinova/epinova-dxp-deployment/tree/master/Octopus и узнать больше.
Другой
Я надеюсь, что это кому-то поможет. И не стесняйтесь обращаться к нам, если вам нужна помощь.
Для получения последней документации и руководств посетите репозиторий на GitHub. Где существует весь код, документация, файлы и т. д.