У меня есть многоступенчатый конвейер сборки Azure DevOps, написанный на Yaml.
У меня есть база данных SQL Azure и веб-приложение .NET, размещенное в Azure, а веб-приложение настроено на использование промежуточного и рабочего слота.
Я использую код Entity Framework для первой миграции.
После того, как я применил миграцию своей базы данных, я развернул обновленное приложение в промежуточном слоте, а затем запустил на нем последнюю автоматизацию тестирования, прежде чем менять промежуточный слот, чтобы запустить его.
Чтобы повысить надежность процесса, я хотел бы запустить автоматический тест сразу после миграции EF для предыдущей версии приложения - либо в реальном слоте, либо в необновленном промежуточном слоте, чтобы убедиться, что моя база данных применяется. Миграция не сломала оригинальную версию приложения.
Мои автоматические тесты находятся в той же кодовой базе, что и мое приложение, и, возможно, были обновлены для поддержки тестирования новой версии приложения, но могут не работать при запуске с предыдущей версией.
То, что я хотел бы сделать, - это использовать автоматизацию тестирования, которая была в артефактах сборки первоначально развернутого приложения, поскольку они все равно должны работать с исходным приложением с применением новой схемы БД.
Есть ли способ программно выяснить из Azure DevOps, какая версия приложения была в последний раз развернута в конкретной среде, а затем извлечь артефакты сборки для этой сборки?
Или есть другой подход, который люди используют для решения этого сценария?