Давно не открывал свой аккаунт в Azure, но совсем недавно на горизонте появился новый заказчик, который не боится держать свои данные в Azure. Давно хотел поработать с облаком в реальном проекте и к новому проекту отнёсся с энтузиазмом. Приводя в порядок этот проект, наряду с рядовыми проблемами, столкнулся с некоторыми особенностями Azure (опишу в следующих постах). Но первое что бросилось в глаза, это новый вариант разворачивания проекта (думаю он не так нов, но я проморгал момент его появления). И сегодня я как раз о нём и собираюсь рассказать.
Первоначально способ разворачивания проекта в Windows Azure был следующим: вы создавали проект локально, затем при помощи Azure Tools создавали пакет для разворачивания проекта. После чего открывали браузер, загружали пакет на портал и на портале уже запускали проект. Те кто знаком с этой процедурой не могут не согласиться, что это довольно неудобно, и что хорошо бы всё это делать не выходя из студии.
Сейчас это уже доступно. Теперь вместо этих 3-х действий нужно сделать одно - Нажать "Publish" в Visual Studio. Давайте посмотрим на это на примере небольшого приложения "Hello Azure".
Для начала ставим себе Windows Azure Tools for Microsoft Visual Studio. После чего в Visual Studio появляются новые шаблоны проектов. Запускаем студию и создаём проект Windows Azure Cloud Service –> ASP.NET Web Role, представляющий собой классическое ASP.NET приложение.
В Solution Explorer появятся 2 проекта : HelloAzure – проект, предназначенный для разворачивания приложения в Azure и HelloAzureWebRole – наше веб-приложение, которое мы собираемся разворачивать. Прописываем в разметке страницы Default.aspx нашего веб-приложения ключевые слова "Hello Azure!" и наше приложение готово :). Кликаем по нашему первому проекту правой кнопкой и нажимаем "Publish".
В открывшемся окошке, производим необходимые настройки. В самом верху находятся две радиокнопки, первая из которых – старый способ деплоя, вторая – новый (по умолчанию он и выбран). И первое действие, которое нужно сделать для использования этого способа – создать учетные данные для проверки подлинности.
В окошке создания учетных данных от вас требуется ввести ключ подписки, создать сертификат и загрузить его на портал.
Цитата: На портале разработчика Windows Azure процесс проверки подлинности происходит прозрачно, используется вход в систему с помощью Microsoft Live ID, но Visual Studio требуется явным образом проверить подписку, чтобы можно было управлять размещенной службой. Для явной проверки подлинности требуются два вида данных.
- Идентификатор подписки. Идентификатор подписки можно найти на портале разработчика Windows Azure, открыв страницу Account (Учетная запись) и прокрутив ее вниз до конца.
- Действующий сертификат X.509 v3. Можно использовать самозаверяющий сертификат или сертификат, подписанный центром сертификации. Если у вас на локальном компьютере еще нет установленного сертификата, его легко можно создать его из Visual Studio в процессе настройки учетных данных.
В этом же окошке есть ссылка на подробное описание процесса создания аккаунта - Creating Named Authentication Credentials.
После создания учетных данных для проверки подлинности, в выпадающие списки "Hosted Service Slot to deploy to" и "Storage Account to deploy throught" подгрузятся данные с портала Windows Azure (при условии, что они там созданы). На этом всё. Нажимаем "Ok" и следим за процессом деплоя прямо в студии (процесс происходит убийственно долго – около 15 минут).
После чего сайт становится доступен.
Напоследок хочу сказать, что возможность разворачивания проекта прямо из студии есть только в VS 2010. В VS 2008 такой возможности нет, и там приходится разворачивать по старинке.
Ссылки по теме: