You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions是否有与Azure DevOps「Publish Pipeline Artifact」对等的功能?

GitHub Actions替代Azure DevOps「Publish Pipeline Artifact」的解决方案

GitHub Actions原生没有和Azure DevOps「Publish Pipeline Artifact」完全对等的内置功能,你遇到的传输耗时过高问题,确实来源于actions/upload-artifact@v2的逐文件上传机制,该机制对包含大量小文件的全量Pipeline产物场景极不友好。你可以通过手动预打包+上传的方式,将耗时压缩到和Azure DevOps接近的水平,具体实现方案如下:


具体操作步骤

  • 第一步:在workflow的上传产物步骤前,新增打包步骤,将所有需要作为Pipeline产物的内容打包为单个压缩包:
    • Linux/macOS运行环境使用命令:tar -czf pipeline-full-artifact.tar.gz ./要打包的工作目录路径/
    • Windows运行环境使用命令:Compress-Archive -Path ./要打包的工作目录路径/* -DestinationPath pipeline-full-artifact.zip
  • 第二步:升级actions/upload-artifact到最新的v4版本(相比v2版本传输性能提升2倍以上),仅上传打包好的单个压缩包即可,参考配置:
    - name: 上传全量Pipeline产物
      uses: actions/upload-artifact@v4
      with:
        name: pipeline-full-artifact
        path: pipeline-full-artifact.tar.gz # Windows环境替换为zip包路径
        retention-days: 7 # 可自定义产物保留天数,与原有Azure DevOps规则对齐
    
  • 第三步:后续job或其他流程需要使用该产物时,下载完成后先执行解压操作即可:
    • Linux/macOS解压命令:tar -xzf pipeline-full-artifact.tar.gz
    • Windows解压命令:Expand-Archive -Path pipeline-full-artifact.zip -DestinationPath ./目标工作目录/

额外优化建议

  • 若单包产物容量超过10GB,建议按目录拆分为多个压缩包分别上传,降低单文件传输失败重试的成本
  • 如需跨workflow共享产物,可将打包后的压缩包上传到GitHub Packages,传输性能优于官方upload-artifact动作

内容的提问来源于stack exchange,提问作者aseb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 14:09:03