Azure DevOps中的Gzip文件

问题描述

我需要以Js格式在Azure DevOps中压缩gz文件。我已使用 Azure 内置存档任务来zip文件,但只有tar.gz可用。我只想要gz。我需要运行的命令是

7z.exe a -tgzip $targetFile $sourceFile

Azure DevOps中有什么方法可以做到这一点。

解决方法

7zip似乎是在hosted pipeline image上配置的工具。您只需创建一个PowerShell任务即可包装所需的调用。

使用windows-2019图片的示例YML代码段:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: '& 7z.exe a -tgzip $(Build.StagingDirectory) $(Build.SourcesDirectory)\README.md'

登录任务:

Starting: PowerShell
==============================================================================
Task         : PowerShell
Description  : Run a PowerShell script on Linux,macOS,or Windows
Version      : 2.170.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
==============================================================================
Generating script.
========================== Starting Command Output ===========================
"C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a\_temp\a5e0fcab-474f-4462-9a92-36185caa17a8.ps1'"

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive:
1 file,985 bytes (1 KiB)

Creating archive: D:\a\1\a.gz

Add new data to archive: 1 file,985 bytes (1 KiB)


Files read from disk: 1
Archive size: 562 bytes (1 KiB)
Everything is Ok
Finishing: PowerShell