Microsoft Azure
Облачный бизнес
Вам понадобится

Microsoft Azure

Попробуйте платформу Microsoft Azure совершенно бесплатно.

Visual Studio

Бесплатная версия Visual Studio, позволяющая создавать приложения для платформы Microsoft Azure.

SDKs и дополнительные
инструменты

Инструменты разработки приложений для платформы Microsoft Azure.

 

Публикация сайтов Windows Azure с помощью Git

Git — это популярная система управления распределенными версиями с открытым исходным кодом. Новые сайты на Windows Azure могут использовать репозиторий Git, чтобы быстро и легко передавать изменения кода на сайт. В этой статье мы расскажем, как использовать систему Git для публикации на веб-сайте Windows Azure из любой операционной системы.

Примечание. Многие описанные в этой статье команды Git выполняются автоматически при создании веб-сайта с помощью  инструментов командной строки Windows Azure для Mac и Linux.

Выполните следующие действия:

  • Установка системы Git
  • Создание локального репозитория
  • Добавление веб-страницы
  • Включение репозитория веб-сайта
  • Добавление веб-сайта в качестве удаленного репозитория
  • Публикация и повторная публикация веб-сайта
  • Устранение проблем

Установка Git

Действия по установке Git зависят от операционной системы. Сведения о конкретных дистрибутивах операционных систем и руководство по установке приведены в разделе «Установка системы Git».

Примечание. В некоторых операционных системах будут доступны версии как командной строки, так и графического пользовательского интерфейса Git. В инструкциях данного руководства используется версия командной строки.

Создание локального репозитория

Чтобы создать репозиторий Git, выполните следующие задачи.

  1. Откройте окно командной строки, например GitBash (Windows) или Bash (Unix Shell). В ОС X доступ к командной строке осуществляется с помощью приложенияTerminal.
  2. В командной строке укажите каталог, в котором будет создан веб-сайт. Например,cd needsmoregit.
  3. Чтобы инициализировать новый репозиторий Git, используйте следующую команду: 
    git init

Она должна возвратить сообщение вида Initialized empty Git repository in [path].

Добавление веб-страницы


Веб-сайты Windows Azure поддерживают приложения, созданные с помощью различных языков программирования. В этом примере мы будем использовать статичный HTML-файл. Сведения о публикации веб-сайтов, созданных с помощью других языков программирования, в Windows Azure приведены в  Центре разработчиков Windows Azure.

  1. Используя текстовый редактор, создайте в корневой папке репозитория Git файл с именем index.html. Добавьте фразу Hello Git! в качестве содержимого, а затем сохраните файл.
  2. Проверьте в командной строке, что используется каталог, созданный в репозитории. С помощью следующей команды добавьте файл index.html в репозиторий: 
    git add index.html
  3. Затем зафиксируйте изменения в репозитории, воспользовавшись командой: 
    git commit -m "Adding index.html to the repository" 
    Результат работы команды будет выглядеть примерно так: 
    [master (root-commit) 369a79c] Adding index.html to the repository 1 file changed, 1 insertion(+) create mode 100644 index.html

Включение репозитория веб-сайта

Чтобы включить репозиторий Git для своего веб-сайта, используя портал Windows Azure, выполните следующие действия.

Войдите на  портал Windows Azure. В левой части страницы выберите Web Sites, а затем укажите веб-сайт, для которого нужно включить репозиторий.

В нижней части страницы в разделе quick glance выберите Setup Git publishing.

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

Через некоторое время появится сообщение о готовности репозитория. Под сообщением в разделе Push my local files to Windows Azure будет находиться список команд, используемых для отправки локальных файлов в приложение Windows Azure.

Добавление веб-сайта в качестве удаленного репозитория

Поскольку локальный репозиторий уже инициализирован и в него добавлены файлы, пропустите шаги 1 и 2 инструкций, отображаемых на портале. С помощью командной строки перейдите в каталог веб-сайта и выполните команды, перечисленные в шаге 3 инструкций на портале. Например:

Команда remote добавляет именованную ссылку на удаленный репозиторий –– в этом случае это ссылка с именем azure для репозитория веб-сайта Windows Azure.

Публикация и повторная публикация веб-сайта

Используйте следующую команду для перемещения текущего контента репозитория из локального репозитория в удаленный репозиторий azure:

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

Примечание. Предполагается, что запросы на помещение в репозиторий, созданный для веб-сайта Windows Azure, будут отправляться для его главной ветви, а затем использоваться в качестве контента веб-сайта.

На портале в нижней части щелкните ссылку BROWSE, чтобы проверить, развернут ли файл index.html. Откроется страница с приветствием Hello Git!

С помощью текстового редактора добавьте в файл index.html слово Yay!, а затем сохраните файл.

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

После выполнения команды push обновите браузер. Обратите внимание, что теперь на странице отображается последнее зафиксированное изменение.

Устранение проблем

При использовании системы Git для публикации на веб-сайте Windows Azure возникают следующие ошибки и проблемы.

Симптом. Не удается разрешить hostname узла.
Причина. Эта ошибка возникает в том случае, если при создании удаленного репозитория azure был введен неверный адрес.
Решение. Воспользуйтесь командой git remote –v для указания всех удаленных репозиториев и связанных URL-адресов. Убедитесь, что для удаленного репозитория azure указан правильный URL-адрес. При необходимости удалите и создайте повторно удаленный репозиторий, используя правильный URL-адрес.

Симптом. Не указано ни одной ссылки; ничего не происходит. Возможно, следует указать ветвь как ‘master’.
Причина. Эта ошибка возникает в том случае, если при выполнении операции помещения не указана ветвь и не задано значение ush.default, используемое системой Git.
Решение. Выполните операцию помещения повторно, указав главную ветвь. Например: 
git push azure master 

Симптом. src refspec [имя_ветви] не имеет совпадений.
Причина. Эта ошибка возникает в том случае, если осуществляется попытка помещения в ветвь, отличную от master, в удаленном репозитории azure.
Решение. Выполните операцию помещения повторно, указав главную ветвь. Например: 
git push azure master

Симптом. Ошибка: изменения зафиксированы в удаленном репозитории, но веб-сайт не обновлен.
Причина. Эта ошибка возникает в том случае, если вы развертываете приложение Node.js, содержащее файл package.json, в котором указаны дополнительные необходимые модули.
Решение. До появления этой ошибки в журнале должны быть зарегистрированы сообщения, содержащие текст npm ERR!.. В них может быть указан дополнительный контекст причины сбоя. Далее перечислены известные причины этой ошибки и вывода сообщения npm ERR!.

  • Неверно сформированный файл package.json. npm ERR! Couldn't read dependencies.
  • Встроенный модуль, не имеющий бинарного дистрибутива для Windows.

    • o npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 
      ИЛИ
    • o npm ERR! [modulename@version] preinstall: `make || gmake`

Дополнительные ресурсы

Перевод статьи без оригинала.