Azure - Как создать WebJob, используя Pipeline, закодированный в файле Yaml - PullRequest
1 голос
/ 17 марта 2020

Я совершенно новичок в Azure, Pipelines, et c.

Я пытаюсь создать службу приложений, состоящую из веб-сайта и WebJob (фоновое задание, которое периодически запускается). Я хочу построить и развернуть его, используя Pipeline с кодом Yaml.

Я создал решение Visual Studio с очень простым ASP. Net Базовым веб-сайтом (проект) pipelines-do * 1021. * -core ") и простой. Net Core консольной программы (проект" WebJobsSDKSample ").

Я создал файл Yaml для сборки, опубликовал sh и развернул веб-сайт в моей службе приложений. Это работает нормально, и я могу открыть сайт в браузере.

Затем я расширил файл Yaml, чтобы скопировать выходную папку проекта консольной программы в папку publi sh веб-сайта, сжимая результат в ZIP-файл и разверните этот ZIP-файл. Я понимаю, что мне нужно скопировать выходную папку проекта консольной программы в / App_Data / jobs / triggered / app в папке publi sh веб-сайта.

Этот новый конвейер работает нормально, и веб-сайт по-прежнему правильно развернут. Однако, когда я открываю страницу WebJobs моей Службы приложений, она говорит: «Вы не добавили никаких WebJobs».

Содержимое моего файла Yaml ниже. Что мне нужно изменить, чтобы правильно развернуть WebJob?

Кроме того, если бы вы могли привести мне наглядные примеры того, как кодировать WebJob в файле конвейера Yaml, это было бы очень полезно.

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(BuildConfiguration)'
    zipAfterPublish: false
- task: CopyFiles@2
  displayName: 'Copy Console App to WebJob Location'
  inputs:
    SourceFolder: WebJobsSDKSample/bin/Release/netcoreapp3.1
    TargetFolder: pipelines-dotnet-core/bin/Release/netcoreapp2.2/publish/App_Data/jobs/triggered/app
- task: ArchiveFiles@2
  displayName: 'Archive WebApp'
  inputs:
    rootFolderOrFile: pipelines-dotnet-core/bin/Release/netcoreapp2.2/publish
    includeRootFolder: false
    archiveFile: pipelines-dotnet-core/bin/Release/netcoreapp2.2/pipelines-dotnet-core.zip
- task: AzureWebApp@1
  inputs:
    azureSubscription: 'test connection 1'
    appName: 'WebApplication120200310093243'
    package: pipelines-dotnet-core/bin/Release/**/*.zip


...