Azure DevOps,发布管道,Powershell任务:即使操作成功后,提取显示为失败的.tar.gz

橙子

对于我的Azure DevOps发布管道,我获得了构建工件(从python存储库生成)并按以下方式提取其内容:

# Write your PowerShell commands here.

Write-Host "Extracting sources"

cp $(System.DefaultWorkingDirectory)/_repo-master-pipeline/dist/repo-1.0.0.tar.gz .

tar xvzf repo-1.0.0.tar.gz

type repo-1.0.0/foo.txt

我在日志中看到tar能够从工件中提取内容的日志type打印foo.txt命令也成功。但是,我看到此错误:

2020-11-06T10:05:32.3917349Z Extracting sources
2020-11-06T10:05:32.6074421Z ##[error]x repo-1.0.0/
<<< some lines from the tar command are printed here showing successful extraction >>>

我可能做错了什么?如果不是针对此假阳性错误,则整个发布管道都可以正常工作。因此,无法执行此阶段中的其他任务。

克尔兹斯托夫·马德(Krzysztof Madej)

我没有您的文件,因此无法对其进行测试,但是您可以尝试使用内置任务:

# Extract files
# Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip
- task: [email protected]
  inputs:
    #archiveFilePatterns: '**/*.zip' 
    destinationFolder: 
    #cleanDestinationFolder: true 

我以这种方式测试了您创建工件的方法:

# https://stackoverflow.com/questions/64712778/azure-devops-release-pipeline-powershell-task-extracting-tar-gz-shown-as-fai/64713036#64713036

trigger: none
pr: none

pool:
  vmImage: 'ubuntu-latest'

steps:
- script: |
    ls
    tar -czvf archive.tgz *.yaml
    echo "here"
    cp archive.tgz '$(Build.ArtifactStagingDirectory)'
  displayName: 'Run a multi-line script'

- task: [email protected]
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

然后在发布管道中使用它:


# Write your PowerShell commands here.

Write-Host "Extracting sources"

cp '$(System.DefaultWorkingDirectory)/_kmadof.devops-manual (42)/drop/archive.tgz' .

tar xvzf archive.tgz

ls _'kmadof.devops-manual (42)'

而且有效。因此,可能与您的tar.gz文件有关。您可以下载并在本地对其进行测试吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章