company_banner

Как разворачивать веб-сайты в Microsoft Azure?

    Неделя Хэллоуина – популяция статей про веб-сайты в облаке Microsoft Azure удваивается.

    Как многие знают, на Microsoft Azure есть очень простой сервис для размещения веб-сайтов на .NET, Java, PHP, Python, Node.js. Эту статью можно использовать в качестве шпаргалки для того, чтобы постоянно иметь под рукой перечень опций развертывания и ссылок на инструкции.
    В шпаргалке: Visual Studio, Git, Mercurial, TFS, WebMatrix, MSBuild и WebDeploy.



     

    Разворачиваем веб-сайт с помощью системы контроля версий, находящейся в облаке

     

    Простым и хорошим способом развернуть веб-сайт является настройка системы контроля версий в облаке. Это снимает необходимость в установке и настройке ее локально.

    Visual Studio Online (VSO)


    Visual Studio Online (ранее Team Foundation Service) — облачный сервис в виде системы контроля версий и других возможностей для обеспечения коллаборации внутри команд. Сервис бесплатен для использования до 5 разработчиков. VSO полностью интегрирована с Azure Websites, и репозиторий может быть Git или TFVC.

    Подробнее:
     

    Git в облаке


    В Azure есть набор функций для автоматизации развертывания веб-сайтов из репозиториев Git в Azure WebSites (GitHubCodePlex и BitBucket).

    Подробнее:
     

    Mercurial


    В Azure есть поддержка Mercurial с репозиториями в CodePlex и BitBucket.

    Подробнее:

     

    Dropbox


    Dropbox - не система контроля версий, но хранить код можно, соответственно, и разворачивать его.
     

    Разворачиваем из IDE


    Visual Studio и WebMatrix - средства разработки Microsoft, которые можно использовать для веб-разработки. У обоих средств есть встроенные функции для развертывания на Azure WebSites, оба могут использовать Web Deploy для автоматизации задач, например, развертывания базы данных, и оба умеют разворачивать по FTP или FTPS).

    Visual Studio


    Подробнее:
     

    WebMatrix


    Подробнее:
     

    Разворачиваем по FTP


    Вы можете разворачивать веб-сайты на Azure WebSites по FTP — например, с помощью Internet Explorer или FileZilla. Azure Websites поддерживают FTPS. Однако развертывание по FTP не поддерживает дополнительные задачи, например, развертывание базы данных, и не поддерживает сравнение файлов на источнике и приемнике.

    Подробнее:
     

    Разворачиваем с помощью системы контроля версий, находящейся локально


    Если вы используете локальный TFS, Git или Mercurial, то из этих репозиториев также можно разворачивать веб-сайты на Azure WebSites.

    Локальные Git или Mercurial


    В Azure достаточно ввести URL репозитория Git или Mercurial для развертывания из них.

    Подробнее:
     

    Разворачиваем с помощью утилит командной строки и Azure REST API Management API


    Автоматизировать — это всегда хорошо, но, если это не получается сделать с системой контроля версий, всегда можно использовать утилиты командной строки. В Azure многие задачи управления упрощены, плюс в наличии имеется REST API для управления платформой и несколько фреймворков для работ с ним.

    MSBuild


    Если для разработки вы используете Visual Studio IDE, для автоматизации вы можете использовать MSBuild, настроив его на использование Web Deploy или FTP/FTPS. Web Deploy умеет автоматизировать задачи, например, развертывание баз данных.

    Подробнее:
     

    FTP-скрипты


    Получить доступ к Azure WebSites по FTP/FTPS достаточно просто, и созданный аккаунт для доступа можно использовать для исполнения FTP-скриптов.

    Подробнее:
     

    Windows PowerShell


    Выполнять развертывание MSBuild или FTP можно с помощью Windows PowerShell, используя большое количество командлетов, специализированных для работы с Azure REST API.

    Подробнее:
     

    .NET management API


    Еще для MSBuild или FTP можно писать C#-код для доступа к REST API.

    Подробнее:
    .

    Кроссплатформенные утилиты командной строки (xpat-cli)


    Утилиты командной строки для управления платформой и развертывания доступны также на Mac и Linux.

    Подробнее:
    • Command line tools. Страница на портале Azure.com, посвященная инструментам командной строки.
     

    Web Deploy


    Подробнее:
     

    Что дальше?


    Развернули?
    Почитайте про то, как тестировать Azure WebSites в продакшене.
    Изучите, как работает и как делается резервирование ваших веб-сайтов.
    Читайте остальную документацию.

    Полезные ссылки


    Microsoft
    752,00
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Поделиться публикацией

    Комментарии 12

      +3
      Git+Dropbox+Visual studio online+FTP+MSBuild
      в облаке и бесплатно, неужели так бывает??
        0
        Git — Git бесплатно, GitHub в принципе тоже.
        Visual Studio Online до пяти разработчиков бесплатно
        FTP есть поддержка
        MSBuild тоже

        У всего этого есть поддержка с Azure WebSites, которые в самом простом режиме тоже бесплатны.
        +2
        Центрирование текста на мониторах в первой картинке повергнет перфекционистов в шок.
          0
          Разворачиваю вручную из студии, но иногда забываю поправить web.config и чтобы не заливать сайт заново захожу через rdp и перекомментирую две строчки, НО через некоторое время оказывается что web.config опять старый — неправильный. получается Azure восстанавливает именно содержимое деплоя. Не подскажите почему так происходит?
          За статью спасибо — проект растет. Как раз скоро на Облако настраивать буду.
            0
            А если попробовать трансформацию web.config? Первая статья которая быстро нашлась weblogs.asp.net/scottgu/tip-trick-automating-dev-qa-staging-and-production-web-config-settings-with-vs-2005, древняя, конечно, но идея принципиально не менялась.
              0
              Если речь идею о WebRole/WorkerRole то это нормально для azure: время от времени она(платформа) редеплоит ваши ноды из deployment package. Таким образом, все изменения, сделанные вручную после деплоя, пропадают.

              Пользуетесь классом CloudConfigurationManager для чтения настроек приложения из *.cscfg (которые можно сменить в azure management portal) или храните их отдельно в базе или blob storage. И уж если без изменения web.config не обойтись, то делайте заливку заново.
              0
              А есть ли какой нибудь способ для деплоя сайтов из Monodevelop? Особенно интересует вариант на Mac OS X.
                0
                Если Monodevelop умеет разворачивать на IIS — должно получиться развернуть и на Azure Websites, просто корректно нужно прописать строку.
                Для Mac OS X в общем случае есть CLI — azure.microsoft.com/en-us/documentation/articles/command-line-tools/
                +2
                IMHO то, что сейчас в позиционировании «облачной» инфраструктуры Microsoft-а все губит — то, что всего ОЧЕНЬ И ОЧЕНЬ МНОГО. Типичнейшая иллюстрация — текущая статья. Вы только посмотрите на нее: миллион ссылок, миллион разных названий.

                Нельзя завоевать рынок, делая сложный-пресложный продукт с миллиардом фич и их описанием, подобным этой статье. Фич может быть много, но они все должны быть «под капотом» и раскрываться по мере использования.
                  0
                  Так это же шпаргалка, миллион названий это нормально. Кроме этого, большинство названий это рядом-стоящие технологии, без которых можно прожить.

                  Кроме этого, без предоставления выбора сложно — поэтому у нас есть интеграция и с Git, и с Mercurial, и еще много с чем. Это все не на поверхности, и раскрывается именно по мере необходимости — на портале управления все это называется одной кнопкой «настроить source control для веб-сайта», после чего, как вы и пишете, раскрывается. :)
                  0
                  Сотрудники корпорации опубликовали пост с битыми ссылками и ушли на длинные выходные. ОК :)
                    +1
                    Спасибо за баг-репорт, починил. Немного на нашем Github структура поменялась :)

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое