Azure 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:
Создаем пользователя и жмем Save:
Далее – переходим в Continuous Deployment и в Источнике выбираем Local Git repository:
Жмем ОК:
После чего в Свойствах приложения появится ссылка Git clone URL:
Клонируем код с Azure себе на рабочую машину:
$ git clone https://[email protected]: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 и проверяем текущий статус деплоев:
На локальной машине – отредактируем какой-то файл, например:
$ 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://[email protected]:443/set-wp-1.git 403c4b3..6ea9d8d master -> master
В списке деплоев появилась новая запись:
И проверяем состояние файла:
$ 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