Azure DevOps Pipeline ArchiveFiles从构建文件夹创建空存档

问题描述 投票:0回答:1

我已经建立了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

谢谢您的帮助!

azure-devops azure-pipelines continuous-deployment azure-pipelines-tasks
1个回答
0
投票

您没有设置变量Build.BinariesDirectory,该变量是系统分配的,并且指向代理程序工作文件夹中的特定位置。

您需要更新构建过程以复制到Build.BinariesDirectory中定义的路径。

© www.soinside.com 2019 - 2024. All rights reserved.