Нет опции или кнопки Service Fabric Explorer для отката или обновления. В развертывании есть некоторые предостережения, на которые следует обратить внимание, чтобы правильно использовать откат, если это была просто кнопка,увеличит шансы на ошибку.
Откат с использованием сценариев не так сложен, вы должны сделать это с помощью всего нескольких строк кода, как в ответе, который вы указали.
Кроме того, откат прост, но может быть сложным в некоторых сценариях, например, изменение конфигурации существующих сервисов, резервное копирование, восстановление и т. Д. Было бы непросто сделать пользовательским интерфейсом для обработки многих сценариев, используя скрипты, чтобы сделать этоболее гибкий и динамичный.Сегодня сценарии просты, но в случае добавления новых функций в будущем для его поддержки не потребуется много изменений.
Что касается сценариев, вы можете использовать другие подходы, такие как:
Первый сценарий: Развертывание выполнено успешно, но приложение работает неправильно
Этот сценарий очень распространен, когда новая версия успешно развернута, службавыполняется без ошибок, но приложение имеет ошибки или не работает должным образом.
Чтобы выполнить откат к предыдущей версии, необходимо обновить приложение и указать версию приложения, развернутую ранее.Это простая команда обновления, к сожалению, где-то не сохранена «Предыдущая версия», вы должны где-то отслеживать предыдущие версии, чтобы найти предыдущие версии.
Команда должна запускаться вручную, например:
Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/VisualObjects -ApplicationTypeVersion 2.0.0.0 -HealthCheckStableDurationSec 60 -UpgradeDomainTimeoutSec 1200 -UpgradeTimeout 3000 -FailureAction Rollback -Monitored
Сценарий Deploy-FabricApplication.ps1
имеет параметр UnregisterUnusedApplicationVersionsAfterUpgrade
, который удаляет более старые версии из хранилища изображений ServiceFabric, еслиВы используете этот подход, которого следует избегать, потому что вы должны скопировать старую версию в SF, а затем применить обновление в случае необходимости отката.Лучшим подходом является реализация алгоритма, который запускается ночью или после выпусков, и удаляет старые версии и сохраняет последние значения N.
.
Другой сценарий: Сбой службы во времяобновление
В этом случае легче справиться, потому что Service Fabric обрабатывает его для вас, когда вы запускаете обновление, у вас есть возможность сделать его автоматическим или руководство .
В автоматическом режиме, если при запуске службы происходит сбой, Service Fabric увидит ее и повторите несколько раз, если онаЕсли сообщение не исчезнет, произойдет автоматический откат к службе и приложению к предыдущей версии.
В ручном режиме Service Fabric запустит развертывание, но не предпримет никаких действий, и вы должны запустить сценарии, чтобы продолжитьразвертывание на следующих этапах или откат.Этот подход удобен, если у вас есть очень важные службы, а обновления требуют особой осторожности, в основном для проверки поведения и выполнения ручных тестов перед продолжением развертывания.
Эти параметры можно найти здесь