2014-11-04 2 views
8

У меня есть решение, содержащее веб-сайт .net mvc и веб-сайт.Развертывание azure webjob через git

Я использую git - так что git push to azure, мой сайт обновлен. Теперь я просто добавляю консольное приложение, которое будет запускаться по расписанию. Я пытаюсь разработать, как развернуть это с веб-сайтом, когда я git push, но я не уверен, как это сделать.

Я знаю, что могу создать папку website\app_data\jobs\triggered\webjob и скопировать туда файлы (скажем, из события post-build на веб-сайте), но это означало бы, что мне нужно будет передать все эти файлы в репозиторий git для развертывания чтобы поднять их - что также означало бы, что каждый раз, когда я строю, Гит будет побуждать меня совершать их снова - тьфу.

Есть ли более хороший способ сделать это - где я могу просто подтолкнуть свое репо к лазурному, и он правильно разместит мой сайт и мой веб-сайт?

Благодаря

ответ

4

Да, вы можете сделать это без того, чтобы положить вывод фактического EXE и проект в папку в явном виде. Это сообщение в блоге от Azure Blog документирует обходной путь для включения Git или командной строки для развертывания веб-приложения, включая WebJob.

http://azure.microsoft.com/blog/2014/08/18/enabling-command-line-or-continuous-delivery-of-azure-webjobs/

Если это не разблокирует, пожалуйста, после обновления, и я помогу ходить диагностировать любые другие вопросы, вы столкнетесь. Вы также можете обновить публикацию WebJob NuGet до самой обновленной версии на NuGet здесь: https://www.nuget.org/packages/Microsoft.Web.WebJobs.Publish/1.0.2

+0

Я читал это сообщение в блоге, но я ничего не вижу о развертывании git. Также отмечается [в документе kudu doc] (https://github.com/projectkudu/kudu/wiki/Web-jobs), что возможно развертывание webjobs, но до сих пор я не работал. –

+0

никогда не будет. На самом деле я не обновлялся до 1.0.2. Использул 1.0.1. Модернизирован, и теперь он работает. –

1

Я боролся с этим, но теперь у меня это работает.

Похоже, что необходимо использовать WebJobs.Publish 1.0.2. 1.0.1 не работал для меня. Работал, как только я обновился.

Я также попытался добавить файлы webjobs.props, как указано here от Дэвида Эббо, но это не сработало для 1.0.1, и теперь я удалил эти файлы, и он работает под 1.0.2 без них.

Использование WebJobs.Publish создает webjob-publish-settings.json (в проекте webjob) и webjobs-list.json (в приложении MVC), и это, казалось бы, все, что необходимо.

Единственное, что не работает, - это создать расписание для запланированной работы. Непрерывные и триггерные задания развертываются просто отлично. Там есть нить here, где Дэвид Эббо упоминает, что это ограничение тока.

3

По состоянию на 15/15/2015 это выглядит так же просто, как некоторые контекстные меню внутри Visual Studio.

Если вы хотите, чтобы ваш WebJob автоматически развертывался при развертывании вашего веб-сайта, в Visual Studio вы можете щелкнуть правой кнопкой мыши на веб-сайте и выбрать «Add-> Existing Project as Azure WebJob».

Подробнее here, в частности раздел «Включить автоматическое развертывание веб-приложений с помощью веб-проекта».

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