我已经建立了Azure DevOps构建管道。一切正常,除了ArchiveFiles
步骤之外,该步骤应生成将在之后发布到Azure的工件。
我正在使用以下YAML配置:
- script: |
call dist.bat
tree /A /F
displayName: 'build'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: $(Build.BinariesDirectory)
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
verbose: true
dist.bat
正在构建项目并将生成的归档文件放置在本地目录中的dist/
上。 tree
命令显示文件已正确生成并位于文件夹中。
Finished building distributable exe including resources and dependencies
Final distributable folder is dist\
Folder PATH listing for volume Temporary Storage
Volume serial number is 000000F9 5455:3543
D:.
| .gitignore
| azure-pipelines.yml
| dist.bat
| Main.py
| Main.spec
| Pipfile
| Pipfile.lock
| __init__.py
|
+---dist
| | MyApp.exe
| | default.ini
| | User Guide.pptx
| |
| \---resources
| | default-german.ini
| |
| +---configurations
| \---templates
| Template_InputData_English.xlsx
|
涉及ArchiveFiles
任务时,$(Build.BinariesDirectory)
设置为dist/
。根据输出日志,找到此文件夹。但是,它只是一个空目录,其中有0个文件和0个字节:
[command]d:\a\_tasks\ArchiveFiles_d8b84976-e99a-4b86-b885-4849694435b0\2.159.0\7zip\7z.exe a -tzip -bb3 -mx=5 d:\a\1\a\1487.zip @d:\a\_temp\bfoix61oaayw7eqhcvclahsemi
7-Zip [64] 16.00 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-10
Scanning the drive:
1 folder, 0 files, 0 bytes
Creating archive: d:\a\1\a\1487.zip
Items to compress: 1
Files read from disk: 0
Archive size: 138 bytes (1 KiB)
Everything is Ok
是否可能缺少一些配置错误?我认为这可能与某些路径混合有关,但是很难根据缩短的文件路径和缺少的上下文信息进行调试。 ArchiveFiles
任务的调试日志中显示以下内容:
##[debug]agent.workFolder=d:\a
[...]
##[debug]System.DefaultWorkingDirectory=d:\a\1\s
##[debug]rootFolderOrFile=d:\a\1\b
##[debug]makeAbsolute:d:\a\1\b
##[debug]includeRootFolder=true
##[debug]archiveType=zip
##[debug]archiveFile=d:\a\1\a\1487.zip
##[debug]replaceExistingArchive=true
[...]
##[debug]Listing all 1 files to archive:
##[debug]b
##[debug]Checking for archive destination folder:d:\a\1\a
##[debug]Creating archive with 7-zip: d:\a\1\a\1487.zip
[...]
##[debug]exec tool: d:\a\_tasks\ArchiveFiles_d8b84976-e99a-4b86-b885-4849694435b0\2.159.0\7zip\7z.exe
##[debug]Arguments:
##[debug] a
##[debug] -tzip
##[debug] -bb3
##[debug] -mx=5
##[debug] d:\a\1\a\1487.zip
##[debug] @d:\a\_temp\bfoix61oaayw7eqhcvclahsemi
谢谢您的帮助!
答案 0 :(得分:-1)
您无需设置变量Build.BinariesDirectory
,该变量是系统分配的,并且指向代理程序工作文件夹中的特定位置。
您需要更新构建过程以复制到Build.BinariesDirectory
中定义的路径。