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

GitHub Actions打包仓库报错:zip无内容可处理求助

问题原因与修复方案

错误原因

你的工作流缺少拉取仓库代码的关键步骤,GitHub Actions runner的默认工作目录是空的,没有仓库文件,所以zip命令找不到<repository_name>这个目录,导致报错"Nothing to do!"。

修改后的完整工作流配置

name: Zip repository and put on S3
on: [workflow_dispatch]

jobs:
  zip-n-push:
    name: Zip and Push
    runs-on: ubuntu-latest
    steps:
      # 拉取仓库代码到runner工作目录
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # 若需要完整仓库历史可添加,默认仅拉取最新提交

      # 打包当前目录的仓库代码为ZIP
      - name: Zip repository content
        run: |
          rm -f repository.zip # 清理旧文件(-f避免文件不存在时报错)
          zip -r repository.zip . -x ".git/*" ".github/*"

关键修改点

  • 添加checkout步骤:通过actions/checkout@v4将仓库代码克隆到runner的工作目录,这是所有涉及仓库文件操作的前置必要步骤。
  • 修正zip命令的目标路径:将<repository_name>替换为.(当前目录),因为checkout后仓库代码直接放在工作根目录,而非以仓库名命名的子文件夹。
  • 优化rm命令:用rm -f替代rm -rf,避免误删目录,同时忽略文件不存在的错误。

后续S3上传补充(可选)

如果要上传到AWS S3,可在打包步骤后添加以下配置(需提前将AWS凭证存入GitHub Secrets):

- name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1 # 替换为你的S3桶所在区域

      - name: Upload ZIP to S3
        run: |
          aws s3 cp repository.zip s3://your-bucket-name/target-path/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:43:09