簡體   English   中英

你如何指示 Azure DevOps 將你的 output 放在目標應用服務上的特定位置?

[英]How do you direct Azure DevOps to place your output in a specific location on the target App Service?

我正在嘗試創建一個也可以作為 Service Worker 工作的 WebApi。 web 上有幾個示例,但我一直遇到的問題是部署要么作為 WebApi,要么作為 ServiceWorker,但不能同時作為兩者。

就我所能弄清楚的問題而言,WebApi 似乎需要部署到目錄中:app_data\Jobs\Continuous\WorkerService。 但是,我似乎無法強制 Azure App Service 部署將文件放到該目錄中。 這是我到目前為止所擁有的:

管道:

trigger:
- master

pool:
  vmImage: windows-latest

variables:
  solution: '**/*.sln'
  buildPlatform: Any CPU
  buildConfiguration: Release

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: $(solution)

- task: DotNetCoreCLI@2
  displayName: Build Solution
  inputs:
    command: build

- task: DotNetCoreCLI@2
  displayName: Publish Artifact
  inputs:
    command: 'publish'
    publishWebProjects: no
    arguments: --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)\app_data\Jobs\Continuous\WorkerService

- task: PublishBuildArtifacts@1
  displayName: Upload Artifacts

和發布:

steps:
- task: AzureRmWebAppDeployment@4
  displayName: 'Azure App Service Deploy: thetarex-worker-service'
  inputs:
    azureSubscription: 'Theta Rex Subscription'
    WebAppName: 'thetarex-worker-service'

當我運行它時,我得到了 wwwroot 中的所有文件——沒有保留目錄結構。 WebApi 部分工作,但沒有工作人員服務運行,也沒有創建 WebJob。

在 App Service 配置 - 路徑映射中,創建具有物理路徑目標 site\wwwroot\App_Data\Jobs\Continuous\WorkerService 的虛擬應用程序,並像這樣設置管道:

steps:
- task: AzureRmWebAppDeployment@4
  displayName: 'Azure App Service Deploy: thetarex-worker-service'
  inputs:
    azureSubscription: 'Theta Rex Subscription'
    WebAppName: 'thetarex-worker-service'
    VirtualApplication: your_virtual_application

這應該將您的所有文件放入您使用虛擬應用程序配置的物理路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM