artifacts:reports:accessibility
artifacts:reports:api_fuzzing
artifacts:reports:browser_performance
artifacts:reports:coverage_report
artifacts:reports:codequality
artifacts:reports:container_scanning
artifacts:reports:coverage_fuzzing
artifacts:reports:cyclonedx
artifacts:reports:dast
artifacts:reports:dependency_scanning
artifacts:reports:dotenv
artifacts:reports:junit
artifacts:reports:license_scanning
artifacts:reports:load_performance
artifacts:reports:metrics
artifacts:reports:requirements
artifacts:reports:sast
artifacts:reports:secret_detection
极狐GitLab CI/CD 产物报告类型
- 收集作业中包含的模板生成的测试报告、代码质量报告、安全报告和其它产物。
- 其中一些报告用于显示以下信息:
- 合并请求。
- 流水线视图。
- 安全仪表盘。
无论作业结果如何(成功或失败),为 artifacts: reports
创建的产物总是被上传。
您可以使用 artifacts:expire_in
为其产物设置到期日期。
某些 artifacts:reports
类型可以由同一流水线中的多个作业生成,并由每个作业的合并请求或流水线功能使用。
为了能够浏览报告输出文件,请确保包含 artifacts:paths
关键字。
artifacts:reports:accessibility
accessibility
报告使用 pa11y,报告合并请求中引入的更改对可访问性的影响。
系统可以在合并请求的可访问性部件中,显示一个或多个报告的结果。
artifacts:reports:api_fuzzing
- 引入于 13.4 版本
- 需要极狐GitLab Runner 13.4 或更高版本
api_fuzzing
报告收集了 API Fuzzing bug 作为产物。
系统可以在以下位置显示一个或多个报告的结果:
artifacts:reports:browser_performance
于 14.0 版本,名称从
artifacts:reports:performance
变更为当前名称
browser_performance
报告收集浏览器性能测试指标作为产物。
系统可以在合并请求浏览器性能测试小部件中显示一份报告的结果。
系统无法显示多个 browser_performance
报告的组合结果。
artifacts:reports:coverage_report
引入于 14.10 版本。
使用 coverage_report
收集 Cobertura 格式的覆盖率报告。
cobertura
报告收集 Cobertura 覆盖率 XML 文件。
Cobertura 最初是为 Java 开发的,但有许多第三方端口可用于其他语言,例如 JavaScript、Python 和 Ruby。
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: coverage/cobertura-coverage.xml
收集的覆盖率报告作为产物上传到极狐GitLab。
系统可以在合并请求差异注释中显示覆盖率报告的结果。
artifacts:reports:codequality
对差异注释和完整流水线报告中的多个报告的支持引入于 15.7 版本。
codequality
报告收集代码质量问题。收集的代码质量报告作为产物上传到极狐GitLab。
系统可以显示一个或多个报告:
artifacts:reports:container_scanning
container_scanning
报告收集了容器扫描漏洞。
收集的容器扫描报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
artifacts:reports:coverage_fuzzing
- 引入于 13.4 版本。
- 需要极狐GitLab Runner 13.4 或更高版本。
coverage_fuzzing
报告收集了 coverage fuzzing bug。
收集到的覆盖率模糊测试报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
artifacts:reports:cyclonedx
引入于 15.3 版本。
本报告是一份软件材料清单,描述了遵循 CycloneDX 协议格式的项目组件。
您可以为每个作业指定多个 CycloneDX 报告,可以作为文件名列表、文件名样式提供:
- 文件名样式(
cyclonedx: gl-sbom-*.json
、junit: test-results/**/*.json
)。 - 文件名数组(
cyclonedx: [gl-sbom-npm-npm.cdx.json, gl-sbom-bundler-gem.cdx.json]
)。 - 两者的组合(
cyclonedx: [gl-sbom-*.json, my-cyclonedx.json]
)。 - 不支持目录(
cyclonedx: test-results
、cyclonedx: test-results/**
)。
以下是公开 CycloneDX 产物的作业示例:
artifacts:
reports:
cyclonedx:
- gl-sbom-npm-npm.cdx.json
- gl-sbom-bundler-gem.cdx.json
artifacts:reports:dast
dast
报告收集 DAST 漏洞。收集的 DAST 报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
artifacts:reports:dependency_scanning
dependency_scanning` 报告收集依赖扫描漏洞。 收集的依赖扫描报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
artifacts:reports:dotenv
dotenv
报告收集一组环境变量作为产物。
收集的变量被注册为作业的运行时创建的变量,您可以使用它来在作业完成后设置动态环境 URL。
如果 dotenv
报告中存在重复的环境变量:
- 在 14.6 及更高版本中,使用指定的最后一个。
- 在 14.5 及更早版本中,发生错误。
原始 dotenv 规则的例外是:
- 变量键只能包含字母、数字和下划线 (
_
)。 -
.env
文件的最大大小为 5 KB。此限制可以在私有化部署版实例上更改。 - 在 SaaS 版上继承变量的最大数量:基础版为 50,专业版为 100,旗舰版为 150。在私有化部署版上的默认值为 150,可以通过更改
dotenv_variables
应用程序限制来更改。 - 不支持
.env
文件中的变量替换。 -
.env
文件中的多行值不受支持。 -
.env
文件不能有空行或注释(以#
开头)。 -
env
文件中的键值不能包含空格或换行符 (\n
),包括使用单引号或双引号时。 - 不支持解析期间的引号转义 (
key = 'value'
->{key: "value"}
)。 - 仅支持 UTF-8 编码。
artifacts:reports:junit
junit
报告收集 JUnit 报告格式 XML 文件。
收集的单元测试报告作为产物上传到极狐GitLab。尽管 JUnit 最初是用 Java 开发的,但有许多第三方端口可用于其他语言,例如 JavaScript、Python 和 Ruby。
有关更多详细信息和示例,请参阅单元测试报告。 下面是从 Ruby 的 RSpec 测试工具收集 JUnit 报告格式 XML 文件的示例:
rspec:
stage: test
script:
- bundle install
- rspec --format RspecJunitFormatter --out rspec.xml
artifacts:
reports:
junit: rspec.xml
极狐GitLab 可以在以下位置显示一个或多个报告的结果:
一些 JUnit 工具导出到多个 XML 文件。您可以在单个作业中指定多个测试报告路径,以将它们连接到单个文件中,使用以下方式之一:
- 文件名模式(
junit: rspec-*.xml
、junit: test-results/**/*.xml
)。 - 文件名数组(
junit: [rspec-1.xml, rspec-2.xml, rspec-3.xml]
)。 - 两者的组合(
junit: [rspec.xml, test-results/TEST-*.xml]
)。 - 不支持目录(
junit: test-results
、junit: test-results/**
)。
artifacts:reports:license_scanning
许可证合规性报告收集许可证。许可证合规性报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
- 合并请求许可证合规性小部件。
- 许可列表。
artifacts:reports:load_performance
- 引入于 13.2 版本。
- 需要极狐GitLab Runner 11.5 或更高版本。
load_performance
报告收集负载性能测试指标。
该报告作为产物上传到极狐GitLab。
系统只能在合并请求负载测试小部件中显示一份报告的结果。
系统无法显示多个 load_performance
报告的组合结果。
artifacts:reports:metrics
metrics
报告收集指标。收集的 Metrics 报告作为产物上传到极狐GitLab。
系统可以在合并请求指标报告小部件中显示一个或多个报告的结果。
artifacts:reports:requirements
requirements
报告收集 requirements.json
文件。收集的需求报告作为产物上传到极狐GitLab,现有的需求被标记为满意。
系统可以在项目需求中显示一份或多份报告的结果。
artifacts:reports:sast
sast
报告收集 SAST 漏洞。收集的 SAST 报告作为产物上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
- 合并请求 SAST 小部件。
- 安全仪表盘。
artifacts:reports:secret_detection
- 引入于 13.1 版本。
- 移动到基础版于 13.3 版本。
- 需要极狐GitLab Runner 11.5 及更高版本,
secret-detection
报告收集检测到的 secrets。
收集到的 Secret Detection 报告上传到极狐GitLab。
系统可以在以下位置显示一个或多个报告的结果:
- 合并请求 secret 扫描小部件。
- 流水线安全选项卡。
- 安全仪表盘。