找不到具有指定模式的包:D:\a\r1\a\**\*.zip

No package found with specified pattern: D:\a\r1\a\**\*.zip

我使用 npm build 在 vsts 中创建了一个构建定义,然后将构建文件夹复制到放置位置。

构建管道工作正常

然后我创建了发布定义,它也正确下载了文件:

2018-08-10T16:29:18.5241580Z Downloading artifact drop from: https://xx.visualstudio.com//_apis/resources/Containers/711976?itemPath=drop&isShallow=true&api-version=4.1-preview.4
2018-08-10T16:29:18.5252684Z Downloading drop/s/build/asset-manifest.json to D:\a\r1\a\InnovationInABox-CI\drop\s\build\asset-manifest.json
2018-08-10T16:29:18.5253850Z Downloaded drop/s/build/asset-manifest.json to D:\a\r1\a\InnovationInABox-CI\drop\s\build\asset-manifest.json
2018-08-10T16:29:18.5338277Z Downloading drop/s/build/favicon.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\favicon.png
2018-08-10T16:29:18.5338720Z Downloaded drop/s/build/favicon.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\favicon.png
2018-08-10T16:29:19.5191236Z Downloading drop/s/build/index.html to D:\a\r1\a\InnovationInABox-CI\drop\s\build\index.html
2018-08-10T16:29:19.5191520Z Downloaded drop/s/build/index.html to D:\a\r1\a\InnovationInABox-CI\drop\s\build\index.html
2018-08-10T16:29:19.5195415Z Downloading drop/s/build/manifest.json to D:\a\r1\a\InnovationInABox-CI\drop\s\build\manifest.json
2018-08-10T16:29:19.5195775Z Downloaded drop/s/build/manifest.json to D:\a\r1\a\InnovationInABox-CI\drop\s\build\manifest.json
2018-08-10T16:29:19.5198280Z Downloading drop/s/build/service-worker.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\service-worker.js
2018-08-10T16:29:19.5198598Z Downloaded drop/s/build/service-worker.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\service-worker.js
2018-08-10T16:29:19.5704236Z Downloading drop/s/build/css/ionicons.min.css to D:\a\r1\a\InnovationInABox-CI\drop\s\build\css\ionicons.min.css
2018-08-10T16:29:19.5725284Z Downloaded drop/s/build/css/ionicons.min.css to D:\a\r1\a\InnovationInABox-CI\drop\s\build\css\ionicons.min.css
2018-08-10T16:29:19.5833575Z Downloading drop/s/build/iconfont/iconfont.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.svg
2018-08-10T16:29:19.5868415Z Downloading drop/s/build/fonts/ionicons.eot to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.eot
2018-08-10T16:29:19.5901623Z Downloading drop/s/build/fonts/ionicons.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.svg
2018-08-10T16:29:19.5922072Z Downloaded drop/s/build/iconfont/iconfont.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.svg
2018-08-10T16:29:19.5967502Z Downloading drop/s/build/iconfont/iconfont.ttf to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.ttf
2018-08-10T16:29:19.5990580Z Downloaded drop/s/build/fonts/ionicons.eot to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.eot
2018-08-10T16:29:19.6014585Z Downloading drop/s/build/iconfont/iconfont.eot to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.eot
2018-08-10T16:29:19.6041800Z Downloaded drop/s/build/iconfont/iconfont.ttf to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.ttf
2018-08-10T16:29:19.6082471Z Downloading drop/s/build/fonts/ionicons.woff to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.woff
2018-08-10T16:29:19.6355639Z Downloading drop/s/build/fonts/ionicons.ttf to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.ttf
2018-08-10T16:29:19.6356035Z Downloaded drop/s/build/fonts/ionicons.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.svg
2018-08-10T16:29:19.6609672Z Downloaded drop/s/build/iconfont/iconfont.eot to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.eot
2018-08-10T16:29:19.6614749Z Downloading drop/s/build/images/icons/icon-128x128.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-128x128.png
2018-08-10T16:29:19.6649976Z Downloaded drop/s/build/images/icons/icon-128x128.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-128x128.png
2018-08-10T16:29:19.6691472Z Downloaded drop/s/build/fonts/ionicons.woff to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.woff
2018-08-10T16:29:19.6715380Z Downloading drop/s/build/images/icons/icon-144x144.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-144x144.png
2018-08-10T16:29:19.6721599Z Downloaded drop/s/build/fonts/ionicons.ttf to D:\a\r1\a\InnovationInABox-CI\drop\s\build\fonts\ionicons.ttf
2018-08-10T16:29:19.6730634Z Downloaded drop/s/build/images/icons/icon-144x144.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-144x144.png
2018-08-10T16:29:19.6925986Z Downloading drop/s/build/images/icons/icon-192x192.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-192x192.png
2018-08-10T16:29:19.6932585Z Downloaded drop/s/build/images/icons/icon-192x192.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-192x192.png
2018-08-10T16:29:19.7051155Z Downloading drop/s/build/images/icons/icon-384x384.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-384x384.png
2018-08-10T16:29:19.7068272Z Downloaded drop/s/build/images/icons/icon-384x384.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-384x384.png
2018-08-10T16:29:19.7128194Z Downloading drop/s/build/static/css/main.1338bde0.css to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\css\main.1338bde0.css
2018-08-10T16:29:19.7136566Z Downloading drop/s/build/images/icons/icon-72x72.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-72x72.png
2018-08-10T16:29:19.7139811Z Downloaded drop/s/build/images/icons/icon-72x72.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-72x72.png
2018-08-10T16:29:19.7210596Z Downloaded drop/s/build/static/css/main.1338bde0.css to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\css\main.1338bde0.css
2018-08-10T16:29:19.7331736Z Downloading drop/s/build/static/js/1.f6d2865a.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.f6d2865a.chunk.js
2018-08-10T16:29:19.7336557Z Downloaded drop/s/build/static/js/1.f6d2865a.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.f6d2865a.chunk.js
2018-08-10T16:29:19.7384208Z Downloading drop/s/build/static/js/2.194ad0ec.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.194ad0ec.chunk.js
2018-08-10T16:29:19.7388897Z Downloaded drop/s/build/static/js/2.194ad0ec.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.194ad0ec.chunk.js
2018-08-10T16:29:19.7493081Z Downloading drop/s/build/images/icons/icon-512x512.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-512x512.png
2018-08-10T16:29:19.7505060Z Downloaded drop/s/build/images/icons/icon-512x512.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-512x512.png
2018-08-10T16:29:19.7521694Z Downloading drop/s/build/images/icons/icon-96x96.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-96x96.png
2018-08-10T16:29:19.7524304Z Downloaded drop/s/build/images/icons/icon-96x96.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-96x96.png
2018-08-10T16:29:19.7531569Z Downloading drop/s/build/images/icons/icon-152x152.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-152x152.png
2018-08-10T16:29:19.7544109Z Downloading drop/s/build/iconfont/iconfont.woff to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.woff
2018-08-10T16:29:19.7561190Z Downloaded drop/s/build/images/icons/icon-152x152.png to D:\a\r1\a\InnovationInABox-CI\drop\s\build\images\icons\icon-152x152.png
2018-08-10T16:29:19.7583131Z Downloaded drop/s/build/iconfont/iconfont.woff to D:\a\r1\a\InnovationInABox-CI\drop\s\build\iconfont\iconfont.woff
2018-08-10T16:29:19.7615220Z Downloading drop/s/build/static/js/4.0230ee4e.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.0230ee4e.chunk.js
2018-08-10T16:29:19.7620680Z Downloaded drop/s/build/static/js/4.0230ee4e.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.0230ee4e.chunk.js
2018-08-10T16:29:19.8139663Z Downloading drop/s/build/static/media/sign.adf5846b.jpg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\sign.adf5846b.jpg
2018-08-10T16:29:19.8209000Z Downloaded drop/s/build/static/media/sign.adf5846b.jpg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\sign.adf5846b.jpg
2018-08-10T16:29:19.8445251Z Downloading drop/s/build/static/media/uk.bc48afcc.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\uk.bc48afcc.svg
2018-08-10T16:29:19.8451360Z Downloaded drop/s/build/static/media/uk.bc48afcc.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\uk.bc48afcc.svg
2018-08-10T16:29:19.9315367Z Downloading drop/s/build/static/media/france.bcd389de.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\france.bcd389de.svg
2018-08-10T16:29:19.9316203Z Downloading drop/s/build/static/media/spain.6a9dc11f.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\spain.6a9dc11f.svg
2018-08-10T16:29:19.9316588Z Downloaded drop/s/build/static/media/france.bcd389de.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\france.bcd389de.svg
2018-08-10T16:29:19.9317287Z Downloaded drop/s/build/static/media/spain.6a9dc11f.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\spain.6a9dc11f.svg
2018-08-10T16:29:19.9430066Z Downloading drop/s/build/static/media/italy.604345b4.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\italy.604345b4.svg
2018-08-10T16:29:19.9430433Z Downloaded drop/s/build/static/media/italy.604345b4.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\italy.604345b4.svg
2018-08-10T16:29:20.0800791Z Downloading drop/s/build/static/js/3.06bbf4d1.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.06bbf4d1.chunk.js
2018-08-10T16:29:20.0801318Z Downloaded drop/s/build/static/js/3.06bbf4d1.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js.06bbf4d1.chunk.js
2018-08-10T16:29:20.0962282Z Downloading drop/s/build/static/js/0.cdfd5bd5.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js[=11=].cdfd5bd5.chunk.js
2018-08-10T16:29:20.0962659Z Downloaded drop/s/build/static/js/0.cdfd5bd5.chunk.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js[=11=].cdfd5bd5.chunk.js
2018-08-10T16:29:20.1118659Z Downloading drop/s/build/static/js/main.03f3e98f.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js\main.03f3e98f.js
2018-08-10T16:29:20.1541007Z Downloaded drop/s/build/static/js/main.03f3e98f.js to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\js\main.03f3e98f.js
2018-08-10T16:29:20.1566610Z Downloading drop/s/build/static/media/china.4e4d59b7.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\china.4e4d59b7.svg
2018-08-10T16:29:20.1569167Z Downloaded drop/s/build/static/media/china.4e4d59b7.svg to D:\a\r1\a\InnovationInABox-CI\drop\s\build\static\media\china.4e4d59b7.svg
2018-08-10T16:29:21.1552541Z Total Files: 35, Processed: 35, Skipped: 0, Failed: 0, Download time: 3.288 secs, Download size: 1.320MB
2018-08-10T16:29:21.1844380Z Successfully downloaded artifacts to D:\a\r1\a/InnovationInABox-CI
2018-08-10T16:29:21.1897267Z ##[section]Finishing: Download artifact - InnovationInABox-CI

但下一步是部署到 Azure Web 应用程序:但我收到此错误:

2018-08-10T16:29:21.8347426Z Got connection details for Azure App Service:'uiapp'
2018-08-10T16:29:24.0708659Z ##[error]Error: No package found with specified pattern: D:\a\r1\a\**\*.zip
2018-08-10T16:29:26.8772211Z Successfully updated deployment History at https://xxx.scm.azurewebsites.net/api/deployments/81533918564296
2018-08-10T16:29:26.8855771Z ##[section]Finishing: Deploy Azure App Service

如何将所有这些文件从构建文件夹(不在 .zip 文件中)复制到 Azure webapp?

很遗憾,您不能对文件夹名称使用通配符,只能对文件名称使用通配符。如果您使用的是 'Copy Files' 构建任务,您可以将此值放入 'Source Folder':
D:\a\r1\a\

以及 'Contents' 中的这个值:
**\*.zip

或者您可以将完整的文件目录放在*.zip 中。祝你好运。

如果您正在使用 "Azure App Service Deploy" 任务,请将 "Package or folder" 路径设置为:$(System.DefaultWorkingDirectory)\InnovationInABox-CI\drop\s\build

在我的例子中(使用来自 azure git 的 c# 项目构建 .sln)构建将包保存在 D:\a\a\ 文件夹中(而不是 r1\a) 并且我无法编辑 UI 中的构建步骤,所以我编辑了新添加的 azure-pipelines.yml 文件和 在最后添加了一个任务:

- task: PublishBuildArtifacts@1

这会将 .zip 包复制到发布管道期望的 "drop" 位置 (r1/a)。

现在发布管道正在 r1/a 文件夹中找到文件。

对于使用 Azure DevOps 遇到此问题的任何其他人,打开调试模式很有用。对于您的版本,定义 pipeline variable System.Debug 值为 true。 这给了我这个更有用的输出:

现在至少我知道它在我的目标 VM 上并且路径可能是错误的。

首先我认为你应该添加工件1 then attach it to the packages2

在我的例子中(React 应用程序作为静态内容部署到应用程序服务)我需要添加一个步骤来在发布之前归档构建目录:

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(System.DefaultWorkingDirectory)/build' 
    includeRootFolder: false 
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'

- publish: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
  artifact: '$(Build.BuildId)'

根据 Azure 官方文档为 Node.jsJavascript 应用程序设置流水线(YAML 文件)link https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/javascript?view=azure-devops&tabs=code

  1. 配置 YAML 文件如下:
trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- script: |
    npm install
    npm run build
  displayName: 'npm install and build'

- task: CopyFiles@2
  inputs:
    Contents: 'build/**' # Pull the build directory (React)
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs: 
    pathtoPublish: $(Build.ArtifactStagingDirectory) # dist or build files
    ArtifactName: 'www' # output artifact named www
  1. 在最新版本的 Azure Devops 上,编辑 Pipeline 下的 Release。请注意,Build 部分已在最新版本(截至 2020 年 6 月)中删除,因此一些较旧的 answers/docs 无法正常工作。

  2. 单击 Deploy Azure App Services 并在右侧面板上单击 ...(展开文件夹)以获得 Package or folder 选项

  3. Linked Artifacts => MyProject (Build) => www, select dist文件夹下。

保存然后创建release,这样应该可以解决错误[error]Error: No package found with the specified pattern: D:\a\r1\a\**\*.zip<br/>

我在 Azure DevOps 版本 yaml 管道中使用了以下任务来部署 azure 函数应用程序并将程序包设置为 $(System.DefaultWorkingDirectory) 它对我有用。

- task: AzureFunctionApp@1
                inputs:
                  azureSubscription: XXXXXXXXX
                  appType: 'functionApp'
                  appName: 'funcapp-test'
                  package: '$(System.DefaultWorkingDirectory)'
                  appSettings: 
                  deploymentMethod: 'auto'

在我的例子中,我使用 azure 模板但更改了 vmImage:“windows-latest”,当我检查日志时,发现构建命令没有 运行 所以我想我应该改变安装和构建的默认脚本分离脚本

trigger:
- main

pool:
  vmImage: 'windows-latest'

variables:
  buildFolder: 'build'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- script: |
    npm install
  displayName: 'npm install'

- script: |
    npm run build
  displayName: 'npm build'

- task: CopyFiles@2
  inputs:
    contents: 'build/**'
    targetFolder: '$(Build.ArtifactStagingDirectory)'
    cleanTargetFolder: true

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: $(Build.ArtifactStagingDirectory)
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
    includeRootFolder: false

- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
    artifactName: 'drop'
    publishLocation: 'Container'

刚刚又经历了一次。对我有用的是修改“包或文件夹”以使用 Agent.ReleaaseDirectory。下面的截图,可能它会拯救其他人的焦虑。