Azure devops Azure DevOps多级管道错误:未找到具有指定模式的包:/home/vsts/work/1/s/***.zip-如何修复?
我已经成功地将Azure DevOps构建(yaml)和发布管道(Classic)部署到Azure 我试图在多阶段Yaml管道中转换这两个单独的步骤 在Azure应用程序服务部署任务上(Azure devops Azure DevOps多级管道错误:未找到具有指定模式的包:/home/vsts/work/1/s/***.zip-如何修复?,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,azure-pipelines-yaml,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,Azure Pipelines Yaml,我已经成功地将Azure DevOps构建(yaml)和发布管道(Classic)部署到Azure 我试图在多阶段Yaml管道中转换这两个单独的步骤 在Azure应用程序服务部署任务上(AzureRmWebAppDeployment@4),我收到以下错误: No package found with specified pattern: /home/vsts/work/1/a/*.zip 下面是我的多级Yaml管道 stages: - stage: Build jobs:
AzureRmWebAppDeployment@4
),我收到以下错误:
No package found with specified pattern: /home/vsts/work/1/a/*.zip
下面是我的多级Yaml管道
stages:
- stage: Build
jobs:
- job: 'Build'
pool:
vmImage: 'windows-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '**/*.csproj'
vstsFeed: 'dd55642d-8943-411f-8856-9714dd0da8af'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: test
projects: '**/*[Tt]ests/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
publishWebProjects: false
projects: '**/Tools.Client.Blazor.ServerApp.csproj'
arguments: '--configuration $(buildConfiguration) --output $(build.artifactstagingdirectory)'
- task: PublishSymbols@2
displayName: 'Publish symbols path'
inputs:
SearchPattern: '**\bin\**\*.pdb'
PublishSymbols: false
continueOnError: true
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)\AzureDeploy'
inputs:
SourceFolder: AzureDeploy
TargetFolder: '$(build.artifactstagingdirectory)\AzureDeploy'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- stage: Systest
jobs:
- job: 'Systest'
variables:
resourceGroupName: '$(appName)-rg-$(environment)'
location: 'East US'
appServiceName: '$(appName)-svc-$(environment)'
appInsightsName: '$(appName)-ins-$(environment)'
appServicePlanName: '$(appName)-asp-$(environment)'
appName: 'tools'
owner: 'Pod'
environment: 'systest'
steps:
- task: AzureResourceManagerTemplateDeployment@3
displayName: 'ARM Template deployment: Resource Group scope'
inputs:
azureResourceManagerConnection: 'Dev/Test Connection'
subscriptionId: ''
resourceGroupName: '$(resourceGroupName)'
location: '$(location)'
csmFile: '$(System.DefaultWorkingDirectory)/AzureDeploy/Tools.azureDeploy.json'
csmParametersFile: '$(System.DefaultWorkingDirectory)/AzureDeploy/Tools.azureDeploy.parameter.json'
overrideParameters: '-appServiceName "$(appServiceName)" -appInsightsName "$(appInsightsName)" -appServicePlanName "$(appServicePlanName)" -owner "$(owner)" -environment "$(environment)" -location "$(location)"'
- task: AzureRmWebAppDeployment@4
displayName: 'Azure App Service Deploy: $(appServiceName)'
inputs:
ConnectionType: 'AzureRM'
azureSubscription: ''
appType: 'webApp'
WebAppName: '$(appServiceName)'
packageForLinux: '$(Build.ArtifactStagingDirectory)/*.zip'
如果您有任何帮助/建议,我们将不胜感激。在发布期间,它不会像这样工作。在发布过程中,可以使用“$(System.DefaultWorkingDirectory)/\u Releasepipelinename/drop/.zip”路径,而不是使用路径“/home/vsts/work/1/a/.zip”,该路径将不会像这样工作。不使用路径“/home/vsts/work/1/a/.zip”,此路径可以使用“$(System.DefaultWorkingDirectory)/\u Releasepipelinename/drop/.zip”因为它是两个阶段,第二阶段没有第一阶段中发布的文件,所以需要下载它 您可以使用而不是构建工件 管道工件提供了一种在多个阶段之间共享文件的方法 管道或不同管道之间。它们通常是输出 需要由另一个作业或 部署。工件与它们在其中生成的运行相关联 并在运行完成后保持可用 要发布(上载)当前运行的工件,请执行以下操作:
steps:
- publish: $(build.artifactstagingdirectory)
artifact: drop
在第二阶段,下载工件:
steps:
- download: current
artifact: drop
您也可以通过
DownloadBuildArtifacts@0
task.因为它是两个阶段,第二个阶段没有您在第一个阶段中发布的文件,所以您需要下载它
您可以使用而不是构建工件
管道工件提供了一种在多个阶段之间共享文件的方法
管道或不同管道之间。它们通常是输出
需要由另一个作业或
部署。工件与它们在其中生成的运行相关联
并在运行完成后保持可用
要发布(上载)当前运行的工件,请执行以下操作:
steps:
- publish: $(build.artifactstagingdirectory)
artifact: drop
在第二阶段,下载工件:
steps:
- download: current
artifact: drop
您也可以通过
DownloadBuildArtifacts@0
任务。我是根据你的建议来完成这项任务的。谢谢你给我指出了正确的方向。我是根据你的建议来做这件事的。谢谢你给我指出了正确的方向。强烈建议不要使用硬编码目录。使用提供的变量/任务是最佳实践。这种方法假设工件将被命名为默认的放置文件夹名。强烈建议避免使用硬编码目录。使用提供的变量/任务是最佳实践。这种方法假设工件将被命名为默认的放置文件夹名称。