2015-08-24 4 views
2

У меня есть роль лазурного рабочего, работающая в облачном сервисе. Рабочий - это оболочка вокруг моей пользовательской библиотеки, которая запускает код. Когда я вношу изменения в свою библиотеку Я бы хотел просто заменить старый на новый. В настоящее время я должен переиздать весь проект облачной службы, который требует времени и кажется неудачным. Я понимаю, что это может быть необходимо, когда у меня есть несколько экземпляров или другие проблемы, но сейчас я хочу просто скопировать новую dll в службу вместо публикации всего проекта.Есть ли простой способ заменить ссылочную dll-службу Azure Cloud Service без повторной публикации сервиса?

Возможно ли это?

+0

Как вы развертываете новую версию? –

+0

Я просто щелкаю правой кнопкой мыши и публикую проект Azure Cloud Service. –

+0

Вы решили использовать WebJob (эквивалент Web Apps, эквивалентный рабочим ролям)? Развертывания проще и быстрее, чем в облачных сервисах. – gbellmann

ответ

1

После прочтения документации, связанный с Ральфом я нашел это:

Если базовая инфраструктура вашего приложения является стабильной, но веб-роли требуется более частое обновление, вы можете использовать Web Deploy для обновления только в сети роль в вашем проекте. Это удобно, если вы не хотите перестраивать и повторно развертывать роли рабочего сервера, или если у вас есть несколько веб-ролей , и вы хотите обновить только одну из веб-ролей.

позже пересчитывает:

только веб-роли могут быть обновлены: роли работник не может быть обновлена. В дополнение, вы не можете обновить RoleEntryPoint в web role.cs.

Для тех, кто хочет обновить веб-роль, этот самородок очень важно помнить:

Изменения вносятся непосредственно в виртуальной машине, на которой выполняется роль веб . Если эта виртуальная машина должна быть переработана, изменения теряются, потому что исходный пакет, который вы опубликовали, используется для воссоздания виртуальной машины для этой роли. Вы должны переиздать ваше приложение, чтобы получить последние изменения для веб-роли.

1

Когда вы разрабатываете и тестируете приложение Azure, вы можете использовать Web Deploy для постепенного публикации изменений для ваших веб-ролей.

Подробнее: https://msdn.microsoft.com/en-us/library/azure/ff683672.aspx

1

Для WebRole веб-развертывания может постепенно добавить новый файл. Если вы не хотите включать развертывание в Интернете, вам необходимо включить удаленный доступ для этой роли, затем вы можете подключиться к экземпляру и заменить файл .dll.

В зависимости от роли вам необходимо найти папку IIS (в случае Webrole) или получить доступ к "%ROLEROOT%\AppRoot" (в случае роли рабочего).

Возможно, потребуется перезапустить экземпляр IIS в сценарии веб-роли. Для работника роли, которую вы должны будете убить WaWorkerHost, он будет перезапущен автоматически

+0

Итак, чтобы уточнить, я могу использовать веб-развертывание даже для рабочей роли? –

+0

Просто нашел это в документации. Могут быть обновлены только веб-роли: роли рабочих не могут быть обновлены. Кроме того, вы не можете обновить RoleEntryPoint в web role.cs. –