Как развернуть веб-задание Azure и приложение в одной службе приложений через VSTS? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть решение Visual Studio 2017 как с проектом веб-приложения ASP.NET (называемое пользовательским интерфейсом), так и с проектом Azure WebJob (называемым WebJobs). Я настроил оба для развертывания в Azure из Visual Studio (щелкните правой кнопкой мыши, опубликовать) в одной и той же службе приложений. Решение также настроено на сборку всякий раз, когда я нажимаю на VSTS.

Я хотел бы настроить VSTS для развертывания обоих проектов после успешных сборок, но у меня могут возникнуть проблемы.

Насколько я понимаю, для достижения этой цели мне нужно создать определение выпуска, связанное с моим определением сборки, с задачей «Развернуть службу приложений Azure», добавленной в конвейер. Я попробовал это и получил ошибку, потому что в папке артефактов было найдено более одного файла .zip, который посоветовал мне сделать фильтр более конкретным, поэтому я изменил параметр «Пакет или папка» с $(System.DefaultWorkingDirectory)/**/*.zip на $(System.DefaultWorkingDirectory)/**/UI.zip. Это обошло ошибку, но теперь очевидно, что это только развертывание моего приложения (UI).

Следующим моим шагом было попытаться создать отдельную среду для проекта WebJob и указать $(System.DefaultWorkingDirectory)/**/WebJobs.zip в качестве пакета. Теперь обе среды "успешно" развертываются, но это разрушает мое приложение, и я уверен, что оно развернуло WebJob поверх приложения (я не знаю, как подтвердить это убеждение ...).

Я заметил, что когда вы добавляете среду к определению выпуска и выбираете шаблон, в разделе «Развертывание службы приложений Azure» он говорит: «Разверните свое приложение в службах приложений Azure. Выберите« Веб-приложение в Windows, Linux, Контейнеры », Функция Apps или Web Jobs", но при выборе этого шаблона WebJob не отображается в раскрывающемся списке" Тип приложения "!

Я нашел в Интернете несколько ресурсов о развертывании WebJobs из VSTS, но все они устарели, и описанные опции больше не соответствуют тем, которые в настоящее время используются в VSTS.

РЕШИТЬ:

Моя проблема была решена в результате ответов David Ebbo и starian chen ниже.

Во-первых, вы должны щелкнуть правой кнопкой мыши свой проект Web App в Visual Studio и выберите Добавить> Существующий проект как Azure WebJob и следуйте указаниям мастера. Затем необходимо убедиться, что задача развертывания VSTS находит только один пакет .zip для развертывания, обновив фильтр пути Пакет или папка , чтобы он нашел только Web App ; в моем случае это было $(System.DefaultWorkingDirectory)/**/UI.zip.

Большое спасибо @DavidEbbo и @starianchen за помощь!

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

С веб-заданием, связанным с веб-приложением, оно входит в пакет веб-приложения, поэтому вам просто нужно развернуть веб-приложение в службе приложений Azure.

Он также будет генерировать пакет веб-задания во время публикации (вот почему существует два zip-файла), но вам просто нужно указать пакет веб-приложения в задаче развертывания службы приложений Azure. (Отметьте опцию «Публикация с использованием веб-развертывания»)

enter image description here

0 голосов
/ 26 апреля 2018

Все, что вам нужно сделать, это создать проект WebJob, щелкнув правой кнопкой мыши ваше веб-приложение и выбрав:

Add / New Azure WebJob project

Или, если у вас уже есть проект WebJobs в решении:

Add / Existing WebJob project

После этого при публикации веб-приложения автоматически публикуется веб-задание, к которому оно относится. Все это происходит в одном zip-файле, и в VSTS нет ничего особенного. Не пытайтесь публиковать проект WebJob по отдельности, как только вы это сделаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...