Azure: Git-деплой в Azure WebApp

 

azure_logoAzure App Service поддерживает continuous deployment для веб-приложений из VCS, таких как BitBucket, CodePlex, Dropbox, Git, GitHub и Mercurial.

Для примера будет использоваться web-app с WordPress из поста Azure: App Service – деплой WordPress.

Обновление приложения будет выполняться с помощью Git-репозитория.

UPD: пост пролежал в черновиках более полугода (уже 9 мес, точнее), за которые таким образом деплоить пришлось много. При больших репозиториях – это может быть болью.

Создаем Local Git для приложения.

Переходим в App services > servicename > Settings и находим Deployment credentials:

Screen Shot 2015-12-29 at 13.24.39

Создаем пользователя и жмем Save:

Screen Shot 2015-12-29 at 13.27.37

Далее – переходим в Continuous Deployment и в Источнике выбираем Local Git repository:

Screen Shot 2015-12-29 at 13.32.27

Жмем ОК:

Screen Shot 2015-12-29 at 13.33.51

После чего в Свойствах приложения появится ссылка Git clone URL:

Screen Shot 2015-12-29 at 13.34.27

Клонируем код с Azure себе на рабочую машину:

$ git clone https://set_u@set-wp-1.scm.azurewebsites.net:443/set-wp-1.git
Cloning into 'set-wp-1'...
...
Checking connectivity... done.

Проверяем:

$ ls -l set-wp-1/
total 344
-rw-r--r--    1 username  wheel    418 Dec 29 13:38 index.php
-rw-r--r--    1 username  wheel  19545 Dec 29 13:38 license.txt
...
-rw-r--r--    1 username  wheel   4035 Dec 29 13:38 wp-trackback.php
-rw-r--r--    1 username  wheel   3055 Dec 29 13:38 xmlrpc.php

Возвращаемся в панель Asure и проверяем текущий статус деплоев:

Screen Shot 2015-12-29 at 13.43.48

На локальной машине – отредактируем какой-то файл, например:

$ echo -e "Asure local Git deployment" >> set-wp-1/index.html
$ cd set-wp-1/
$ git add index.html
$ git commit -m "index.upd"
[master 6ea9d8d] index.upd
 1 file changed, 1 insertion(+)

Сохраняем изменения в Azure и еще раз проверяем статус деплоев:

$ git push origin
...
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '6ea9d8d01b'.
remote: Generating deployment script.
remote: Generating deployment script for Web Site
remote: Generated deployment script files
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: Finished successfully.
remote: Deployment successful.
To https://set_u@set-wp-1.scm.azurewebsites.net:443/set-wp-1.git
   403c4b3..6ea9d8d  master -> master

В списке деплоев появилась новая запись:

Screen Shot 2015-12-29 at 13.48.23

 

И проверяем состояние файла:

$ curl http://set-wp-1.azurewebsites.net/index.html
Asure local Git deployment

Готово.

Ссылки по теме

https://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/

https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/#git