Обновление приложения, развернутого в размещенной службе, с использованием 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
, который имеет набор параметров обновления.