Git — это популярная система управления распределенными версиями с открытым исходным кодом. Новые сайты на Windows Azure могут использовать репозиторий Git, чтобы быстро и легко передавать изменения кода на сайт. В этой статье мы расскажем, как использовать систему Git для публикации на веб-сайте Windows Azure из любой операционной системы.
Примечание. Многие описанные в этой статье команды Git выполняются автоматически при создании веб-сайта с помощью инструментов командной строки Windows Azure для Mac и Linux.
Выполните следующие действия:
- Установка системы Git
- Создание локального епозитория
- Добавление веб-страницы
- Включение репозитория веб-сайта
- Добавление веб-сайта в качестве удаленного репозитория
- Публикация и повторная публикация веб-сайта
- Устранение проблем
Установка Git
Действия по установке Git зависят от операционной системы. Сведения о конкретных дистрибутивах операционных систем и руководство по установке приведены в разделе «Установка системы Git».
Примечание. В некоторых операционных системах будут доступны версии как командной строки, так и графического пользовательского интерфейса Git. В инструкциях данного руководства используется версия командной строки.
Создание локального репозитория
Чтобы создать репозиторий Git, выполните следующие задачи.
- Откройте окно командной строки, например GitBash (Windows) или Bash (Unix Shell). В ОС X доступ к командной строке осуществляется с помощью приложения Terminal.
- В командной строке укажите каталог, в котором будет создан веб-сайт. Например,
cd needsmoregit
. - Чтобы инициализировать новый репозиторий Git, используйте следующую команду:
git init
Она должна возвратить сообщение вида Initialized empty Git repository in [path].
Добавление веб-страницы
Веб-сайты Windows Azure поддерживают приложения, созданные с помощью различных языков программирования. В этом примере мы будем использовать статичный HTML-файл. Сведения о публикации веб-сайтов, созданных с помощью других языков программирования, в Windows Azure приведены в Центре разработчиков Windows Azure.
- Используя текстовый редактор, создайте в корневой папке репозитория Git файл с именем index.html. Добавьте фразу Hello Git! в качестве содержимого, а затем сохраните файл.
- Проверьте в командной строке, что используется каталог, созданный в репозитории. С помощью следующей команды добавьте файл index.html в репозиторий:
git add index.html - Затем зафиксируйте изменения в репозитории, воспользовавшись командой:
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`
- o npm ERR! `cmd "/c" "node-gyp rebuild"` failed with
Дополнительные ресурсы
- PowerShell для Windows Azure
- Инструменты командной строки Windows Azure для Mac и Linux
- Документация по системе Git
Автор: XaocCPS