2014-11-26 2 views
14

У меня есть ASP.NET WebApp с поддержкой Git с одним ассоциированным Azure WebJob. Когда я развертываю это через Visual Studio, все в порядке, но это довольно сложно в непрерывной среде доставки, поэтому я хотел бы опубликовать веб-приложение и WebJob через Git.Запланированный Azure WebJob, развернутый через Git, работает в режиме по запросу

Через Azure Tooling я связан мой WebJob проект, и я получил файл "webjobs-list.json" внутри проекта WebApp:

{ 
"$schema": "http://schemastore.org/schemas/json/webjobs-list.json", 
"WebJobs": [{ 
    "filePath": "../CodeInside.Hub.Job/CodeInside.Hub.Job.csproj" 
    }] 
} 


webjobs-list.json Source

Внутри App проекта консоли Я получил "webjob опубликуйте-settings.json" файл с таким содержимым:

{ 
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
"webJobName": "Hub-Crawler", 
"startTime": "2014-11-25T02:00:00+01:00", 
"endTime": null, 
"jobRecurrenceFrequency": "Day", 
"interval": 1, 
"runMode": "Scheduled" 
} 

webjob-publish-settings.json

Как вы видите, «runMode» установлен в «Запланировано», и все отлично, когда я его развертываю через Visual Studio.

Но без Visual Studio я получил это «по требованию» WebJob: enter image description here

Является ли это в настоящее время не поддерживается, или то, что может быть проблема?

Полный .sln можно найти на GitHub

ответ

5

Наконец-то есть решение для развертывания запланированных веб-приложений с развертыванием git.

This блог содержит подробную информацию.

Решение использует планировщик kudu в отличие от планировщика Azure, поэтому портал Azure по-прежнему показывает задание как «On Demand», но он выполняет за расписание, и портал показывает историю точно.

+0

Использовал его с недели - забыл упомянуть его здесь. Я не был уверен, какая связь между различными файлами настроек settings.json/web-publish и здесь возникает проблема: https://github.com/projectkudu/kudu/issues/1601 Ответ действительно помог мне, но там все еще остались вопросы;) –

6

Действительно, проблема заключается в том, что сценарий еще не очень хорошо поддерживается. В частности, при публикации через git (или GitHub/Bitbucket) файл webjob-publish-settings.json игнорируется.

Обходное решение заключается в том, чтобы публиковать один раз с использованием VS только для создания планировщика, а затем использовать git впоследствии.

В конечном итоге этот сценарий будет разрешен с использованием шаблонов Azure Resource Manager, которые определяют как WebSite, так и планировщик. Технически это можно сделать сегодня, но документации там пока мало.

+0

ОК - теперь я даже не могу опубликовать его с помощью обновления Visual Studio 2013 4. Я получаю эту ошибку, описанную здесь, но могу понять, что не так: http://stackoverflow.com/questions/26277009/azure- webjob-deploy-error-managementcertificatepath Идеи? –

+0

Это несвязанная проблема, поэтому было бы лучше обсудить ее отдельно. –

+0

ОК - после обновления VS/Azure Tools (и удаления существующего планировщика и задания на портале) развертывание manuel снова работало. –

Смежные вопросы