当前位置:首页 > 文章列表 > 文章 > 软件教程 > Actions artifacts 怎样设置产物保留期

Actions artifacts 怎样设置产物保留期

来源:17golang原创 2026-10-25 11:45:31 0浏览 收藏

测试报告下载链接很快失效,或者临时构建产物一直占着存储空间,通常需要重新安排 Actions artifacts 的保留期。先给仓库定一个默认期限,再对短期报告单独设置天数,后续维护更清楚。本文以 GitHub.com 上虚构的 demo-team/report-demo 仓库说明,界面配图为原创操作示意,未实际修改任何仓库。

先准备报告目录与期限表

准备一个已有工作流,并确认生成报告的步骤会在 runner 上写出 reports/ 目录。上传 action 负责打包已有文件,不会替你运行测试或生成报告。准备工作还包括仓库管理权限;只有下载需求的读者不需要修改仓库设置。

对象示例期限配置位置
普通构建产物30天仓库默认设置
临时测试报告7天上传步骤 retention-days
已经上传的旧报告保留原有到期安排本次修改不追溯

这张表是示例方案,不是 GitHub 的强制推荐期限。先按团队实际取证、复查与交付需求决定天数,长期交付文件应安排合适的归档位置,避免把临时产物链接当永久下载地址。

1. 在仓库设置保存默认保留天数

打开仓库,进入 Settings → Actions → General,找到 Check, workflow run, status, artifact and log retention 区域,在天数字段填入 30,再点击 Save。当前设置区域同时涉及工作流运行、日志等对象,调整前应确认团队对这些记录的保存需求。

原创仓库设置示意:Actions General 中填写30天并点击Save

完成标志是保存后字段仍显示目标天数,且页面没有权限或范围错误。不要只输入后就关闭页面。若找不到设置入口,先确认自己进入的是仓库设置,以及账号是否具备相应管理权限。

仓库默认保留期通常为90天。公共仓库允许1至90天,私有仓库可配置1至400天,同时受组织或企业的上限约束。保存新值只影响之后创建的相关对象,不能据此推断已有报告的到期日已经改变。

2. 映射上传参数并下载新产物

把下列片段放进已有工作流 job 的 steps,排在生成报告的步骤之后。此处使用官方教程中的 upload-artifact@v4 形式说明 GitHub.com 的参数;它不是完整工作流,也不适用于直接照搬到 GitHub Enterprise Server。

# 放在已有 job 的 steps 中,且位于生成报告的步骤之后
- name: 上传测试报告
  uses: actions/upload-artifact@v4
  with:
    # 用固定名称识别本次运行的产物
    name: test-report
    # 指向前一步实际生成的文件目录
    path: reports/
    # 本示例保留七天,须处于管理员允许范围内
    retention-days: 7
    # 目录没有文件时明确报错,避免误认为上传完成
    if-no-files-found: error

提交前逐项预览:name 对应下载列表里的名称,path 对应 runner 上已有文件,retention-days 对应本次上传的期限。示例的7天应处于仓库及上级策略允许范围内。不要用本地电脑上的绝对路径替换 runner 的报告目录。

保存并提交工作流修改后,按仓库原有触发方式启动一次新的运行。等待上传步骤成功,再进入仓库 Actions → 对应工作流 → 新运行名称,滚动到运行摘要的 Artifacts 区域,点击 test-report 下载。

原创运行摘要示意:在Artifacts中点击test-report下载报告

完成标志是新运行的上传步骤成功、列表出现 test-report,并且下载解压后包含预期报告文件。图中的运行与文件均为示例,没有代表本文实际执行结果。下载需登录并拥有仓库读取权限,产物也必须仍在有效期内。

若上传步骤提示没有文件,回到报告生成步骤确认目录、工作目录与文件输出;若下载列表为空,确认打开的是修改后的那次运行。不能仅凭工作流整体显示成功,就认定某个预期目录已经上传。

常见疑问与完成清单

retention-days 填0能永久保存吗?不能。0表示采用仓库默认保留设置;省略该参数也使用默认策略。需要长期留存的报告,应另行规划归档和访问权限。

把默认值从30改为7,会马上删除旧产物吗?不会按这次修改追溯重算旧产物。清理旧文件是另一项操作,不能把修改默认值当成即时释放空间的动作。

为什么写入更大的天数仍然失败?先检查仓库类型和组织、企业策略,再调整上传参数。不要假定私有仓库必然允许任意天数,也不要用多个上传步骤试图绕开管理上限。

最终核对三件事:仓库默认值已保存;新上传步骤明确使用7天或有意继承默认值;新运行的产物可以下载且内容正确。这样才能把“改了配置”落实到“新产物按计划生成并可用”。

官网入口:https://github.com/

仓库设置文档:https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository

上传参数与示例:https://docs.github.com/en/actions/tutorials/store-and-share-data;https://github.com/actions/upload-artifact

下载文档:https://docs.github.com/en/actions/how-tos/manage-workflow-runs/download-workflow-artifacts

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
IDE Run Configuration 怎样保存环境变量IDE Run Configuration 怎样保存环境变量
上一篇
IDE Run Configuration 怎样保存环境变量
Draft Pull Request 怎样切换审查状态
下一篇
Draft Pull Request 怎样切换审查状态
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    684次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    699次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    749次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    714次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    551次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码