У меня есть решение 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 за помощь!