制品上传与下载是什么
用上传动作保存作业产物、下载动作在其他作业取用;v4 起同一工作流内制品名不可重复,制品有保留期,到期自动删除。制品名建议带矩阵变量或作业名,下载时可指定名称或取用全部;制品用于工作流内传递数据,长期归档要改用制品库。
基本信息
| 上传 | 上传动作,配置名称、路径与保留天数 |
|---|---|
| 下载 | 下载动作,按名称或全部取用 |
| v4 语义 | 制品不可变,同名上传会失败 |
| 保留期 | 按仓库设置,到期删除 |
| 用途 | 工作流内传递产物 |
| 体积上限 | 单制品体积存在上限,超大产物需切分 |
参数与作用
| 参数 | 作用 | 注意 |
|---|---|---|
| name | 制品名称 | 同工作流内必须唯一 |
| path | 上传路径 | 支持目录与通配 |
| retention-days | 保留天数 | 受仓库上限约束 |
| 下载名称 | 指定取用某一制品 | 不填则取全部 |
| 下载全部 | 不指定名称 | 下游作业汇总使用 |
| 矩阵命名 | 名称带矩阵变量 | 每个实例独立制品 |
按矩阵命名
按矩阵命名
# 上传:名称带矩阵变量避免重名
- uses: actions/upload-artifact@v4
with:
name: dist-${{ matrix.os }}
path: dist/
# 另一作业下载全部制品
- uses: actions/download-artifact@v4
with:
path: dist典型使用场景
- 构建与发布分离:构建作业上传产物,发布作业下载后使用
- 矩阵构建:各平台产物分开命名,避免 v4 同名失败
- 调试留存:测试报告与日志作为制品供下载排查
- 跨作业传递:大体积数据用制品传递,替代传输不便的缓存
- 保留期管理:按用途设置天数,避免仓库存储膨胀
- 缓存与制品区分:缓存用于加速安装,制品用于交付产物
- 内容检查:报告与日志可能含敏感字段,先脱敏再上传
制品名带上矩阵变量或作业名:v4 语义下重名直接失败。
制品不是归档:长期留存要用制品库或对象存储,保留期到期即删除。