Обновление приложения, развернутого в размещенной службе, с использованием REST API

Хотелось бы узнать, как я могу обновить одну роль приложения развертывания в размещенной службе с помощью REST API.let, скажем, у меня есть 2 веб-сайта и 1 рабочая роль, и я хотел бы обновить / обновить только одну веб-роль из 2 . Я знаю, что мы может сделать это портал управления Azure.

Также хотелось бы узнать, как работает откат в Azure. Если я хочу откатить приложение развертывания до предыдущего состояния, могу ли я откатить?

2 ответа

Вы не можете изменять количество ролей, используя API управления сервисами. Это возможно только при новом развертывании (это возможно с помощью API).

Единственное, что вы можете сделать, это изменить количество экземпляров с помощью запроса ChangeConfiguration: Изменить конфигурацию развертывания

Откат развертывания до предыдущего состояния возможен с помощью REST API. При развертывании новой версии я обычно использую VIP-своп:

  • Я внедряю новую версию моего приложения в постановку
  • Я делаю VIP-своп (новая версия становится производственной, старая - промежуточной)
  • Я закрыл промежуточную версию (не удаляя ее), таким образом старая версия перестает обрабатывать сообщения из очередей и т. Д. В случае, если моя логика изменилась.

Если я хочу откатиться, я просто включаю старое развертывание и снова делаю VIP-своп. Этот способ работы имеет 2 замечания:

  • Вы можете только "вернуться" к предыдущей версии вашего приложения
  • Необходимо учитывать, что вы могли изменить внешние ресурсы (например, SQL Azure), и откат приложения может привести к поломке из-за этого изменения.

Изменить: изменил мой откат ответ со ссылкой на REST API

Хороший ответ от @Sandrino. Просто хотел немного расширить обновления на месте. Вызов API REST Upgrade Deployment - это то, что вы будете использовать для обновления роли. Как отметил Сандрино, вам все равно нужно будет подтолкнуть новый пакет развертывания (который включает в себя все роли), но затем вы можете указать обновить только одну роль из всего пакета, указав имя роли для RoleToUpgrade элемент.

См. Эту справочную статью MSDN о вызове API Upgrade Deployment.

РЕДАКТИРОВАТЬ: Все API REST также доступны через командлеты PowerShell (можно загрузить здесь). Взгляни на Set-AzureDeployment, который имеет набор параметров обновления.

Другие вопросы по тегам