Развертывание веб-сайта Azure останавливает существующее веб-задание

У меня есть веб-сайт Azure. Сайт автоматически создается и развертывается через TFS онлайн (visualstudio.com). На сайте есть Web Site Mode = Standard и Always On = Enabled.

У меня также есть постоянное веб-задание Azure в виде консольного приложения. Веб-задание не включается в автоматическое развертывание. Вместо этого он обновляется вручную. (В конце концов, я собираюсь развернуть его и автоматически, но пока нет.)

Моя веб-работа выполняется нормально, раз в минуту. Я могу следить за его продвижением в журнале заданий, доступном на портале Azure. Он может без проблем работать несколько дней.

Но когда я развертываю новую версию веб-сайта, веб-задание останавливается и больше не запускается. Если вы не перейдете на вкладку «Веб-задание» на портале Azure, оно запустится снова. (Файлы веб-заданий не перезаписываются при развертывании веб-сайта.)

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


person MEMark    schedule 14.03.2014    source источник
comment
1. Это постоянное веб-задание или веб-задание по расписанию? 2. Откуда вы знаете, что это не работает, пока не посетите ВКЛАДКУ WebJobs?   -  person Amit Apple    schedule 15.03.2014
comment
1. Это непрерывное веб-задание. 2. Я знаю, что это не работает, потому что я могу просматривать а. Данные, вставленные в базу данных веб-заданием; б. Журнал веб-заданий с отметкой времени.   -  person MEMark    schedule 15.03.2014


Ответы (1)


У вас есть сценарий куду для этого развертывания? Если вы посмотрите на сценарий, созданный с помощью

azure site deploymentscript --dotNetConsole

Есть звонок

:: 3. Run web job deploy script
IF DEFINED WEB_JOB_DEPLOY_CMD (
  call :ExecuteCmd "%WEB_JOB_DEPLOY_CMD%" 
)

это может запустить процесс.

Хотя, если у вас уже есть сценарий kudu, глядя на этот сгенерированный файл сценария, вы можете скопировать параметры развертывания в существующий сценарий (убедитесь, что у вас есть другой манифест для второй синхронизации kudu). На этом этапе вы можете получить консолидированное развертывание с помощью push-уведомлений из TFS.

person Dennis Burton    schedule 14.03.2014
comment
Нет, у меня нет скрипта куду. Я использую развертывание "из коробки", подключив TFS непосредственно с портала Azure. Вы знаете, можно ли запустить эти сценарии из TFS в Интернете? (TFS Online несколько более ограничена в том, что вы можете делать во время сборки и развертывания, чем локальная TFS.) - person MEMark; 14.03.2014
comment
При развертывании на веб-сайтах Azure на стороне Azure будет выполняться сценарий для выполнения развертывания. У вас есть возможность предоставить этот сценарий. Инструменты xplat «azure site createdeploymentscript» помогут вам начать работу со сценарием развертывания. - person Dennis Burton; 14.03.2014
comment
Сценарий развертывания не имеет отношения к TFS. Скрипт развертывания запускается при развертывании TFS или при git deploy. - person Dennis Burton; 14.03.2014
comment
Интересно! Для меня это совершенно новая территория. Я, вероятно, смогу запустить инструменты xplat на моем локальном компьютере через некоторое время. Но я не понимаю, как это связано с автоматическим развертыванием. (Все статьи, которые я нахожу, похоже, вращаются вокруг Git, но я использую TFVC.) Как мне предоставить этот сценарий? Можете ли вы указать мне в правильном направлении, как настроить Azure для использования моего пользовательского скрипта? - person MEMark; 14.03.2014
comment
Некоторые пояснения: 1. WEB_JOB_DEPLOY_CMD не запускает веб-задание (он копирует только html-файл), 2. Поскольку вы вручную загружаете веб-задание, вам не нужен этот сценарий развертывания, 3. сценарий развертывания не запускается при использовании TFS, 4. Этот конкретный сценарий развертывания предназначен для развертывания только консольного приложения .net в виде единого непрерывного веб-задания без веб-сайта. - person Amit Apple; 15.03.2014
comment
@AmitApple, дополнительные уточняющие вопросы. Можно ли получить файл .deployment с развертыванием TFS? После прочтения еще нескольких документов сегодня утром кажется, что это связано с развертыванием git, что мне кажется странным. Я думал, что команда развертывания запускается, когда файлы становятся доступными (независимо от их источника) - person Dennis Burton; 15.03.2014
comment
@DennisBurton у вас не может быть файла .deployment для развертывания TFS, TFS имеет собственные процедуры развертывания / сборки. - person Amit Apple; 16.03.2014
comment
Спасибо, ребята, это очень интересная информация, ценю! К сожалению, мне это не помогает, по крайней мере, пока я использую TFVC. - person MEMark; 17.03.2014