Azure devops Azure DevOps管道发布错误:未找到具有指定模式的包:D:\a\r1\a\***.zip
我在Azure DevOps存储库中有一个ASP.NET核心项目,它可以使用DevOps构建管道正常构建。但是,版本的发布总是会失败,并出现以下错误: 错误:找不到具有指定模式的包:D:\a\r1\a***.zip 我已经签出和Q/As,但无法找到解决方案 这是我的Azure devops Azure DevOps管道发布错误:未找到具有指定模式的包:D:\a\r1\a\***.zip,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,我在Azure DevOps存储库中有一个ASP.NET核心项目,它可以使用DevOps构建管道正常构建。但是,版本的发布总是会失败,并出现以下错误: 错误:找不到具有指定模式的包:D:\a\r1\a***.zip 我已经签出和Q/As,但无法找到解决方案 这是我的azure.pipelines.yml文件: pool: vmImage: 'vs2017-win2016' variables: buildConfiguration: 'Release' steps: - scri
azure.pipelines.yml
文件:
pool:
vmImage: 'vs2017-win2016'
variables:
buildConfiguration: 'Release'
steps:
- script: dotnet build ".\src\MyProject.sln" --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- script: dotnet publish ".\src\MyProject.sln" --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)
displayName: 'dotnet publish $(buildConfiguration)'
- task: PublishBuildArtifacts@1
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
publishLocation: 'Container'
更多细节 发布管道错误: 日志 初始化作业: 下载工件: 部署Azure应用程序服务:
我也有同样的问题,在谷歌搜索后我发现了这个 总之,这个答案表示您需要转到构建部分并对其进行编辑。 在.yaml文件的最后,您需要添加一行 “-任务:PublishBuildArtifacts@1"
排队等待一个新的构建,你就可以开始了 对于我们来说,这只是“包或文件夹”的部署任务的错误路径。 它与管道选项卡上的内容不匹配(作为工件之一):
我在使用Maven的示例Java代码中遇到了相同的错误。为此,您还需要在发布构建工件之前添加CopyFiles任务
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
- task: CopyFiles@2
inputs:
contents: '**/*.war'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
artifactName: 'war'
pathToPublish: '$(build.artifactStagingDirectory)'
ASP.NET项目:
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: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
正如每个人都指出的那样,这个错误是因为未配置构建任务。你需要把下面的YAML代码放在最后才能使它工作
- task: PublishBuildArtifacts@1
你可以看到这个错误,我已经指出了准确的时间线,以避免看到完整的视频
愉快地学习编码。在我的情况下,我正在部署Azure应用程序服务,我必须更改
packageForLinux
部分,以使用路径从路径到发布
默认情况下,它是系统。默认工作目录
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Pay-As-You-Go ($(subscriptionId))'
appType: 'webApp'
WebAppName: 'webappname'
deployToSlotOrASE: true
ResourceGroupName: 'resourceGroupName'
SlotName: 'production'
packageForLinux: '$(Build.ArtifactStagingDirectory)/*.zip'
我遇到了同样的错误,但是我跳过了工件的下载。一旦我启用了工件的下载,部署就成功了。在您的工件中似乎没有zip文件,发布中的任务需要一个zip文件。@shaykibaramczyk-Yep。但问题是什么?而且,看起来工件会转到
D:\a\r1\a\drop\drop
,而不是D:\a\r1\a\drop
。不知道为什么!必须这样做,因为管道需要将文件发布到您的网站。此任务发布生成的输出,以便拾取和部署它。我认为是AzureDevOps中的一个bug导致它将此任务从.yaml文件中删除。也许有经验的人可以提供进一步的见解。是的!!谢谢,谢谢!!在你结结巴巴的回答之前,花了很多时间来处理这个问题。msbuildArgs
参数是我缺少的部分。再次感谢你!你是怎么做到的?
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: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
- task: PublishBuildArtifacts@1
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Pay-As-You-Go ($(subscriptionId))'
appType: 'webApp'
WebAppName: 'webappname'
deployToSlotOrASE: true
ResourceGroupName: 'resourceGroupName'
SlotName: 'production'
packageForLinux: '$(Build.ArtifactStagingDirectory)/*.zip'