Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档帮助文档
  • Wiki
    • Docs
    • Ci
  • yaml

帮助文档
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1805
Star 580
Fork 459
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 代码片段
  • 项目成员
  • Pages
帮助文档
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 44
    • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
    • 合并请求 1
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 代码片段
    • 代码片段
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板

yaml · 变更

页面历史
Merge branch 'ci' of codechina.csdn.net:codechina/help-docs.wiki into ci 编写于 6月 09, 2021 作者: BaiXuePrincess's avatar BaiXuePrincess
隐藏空白更改
内联 并排
Showing with 148 addition and 372 deletion
+148 -372
  • docs/ci/yaml.md docs/ci/yaml.md +148 -372
  • 未找到文件。
docs/ci/yaml.md
View page @ d278dcd9
...@@ -2125,7 +2125,7 @@ deploy as review app: ...@@ -2125,7 +2125,7 @@ deploy as review app:
#### ``cache:paths`` #### ``cache:paths``
使用 `paths` 指令选择要缓存的文件或目录。路径相对于项目目录 (`$CI_PROJECT_DIR`),不能直接链接到项目目录之外。你可以使用使用 [glob](https://en.wikipedia.org/wiki/Glob_(programming)) 的通配符模式。 使用 `paths` 命令选择要缓存的文件或目录。路径相对于项目目录 (`$CI_PROJECT_DIR`),不能直接链接到项目目录之外。你可以使用使用 [glob](https://en.wikipedia.org/wiki/Glob_(programming)) 的通配符模式。
缓存 `binaries` 中以 `.apk` 文件结尾和 `.config`文件结尾的所有文件: 缓存 `binaries` 中以 `.apk` 文件结尾和 `.config`文件结尾的所有文件:
...@@ -2520,492 +2520,268 @@ test: ...@@ -2520,492 +2520,268 @@ test:
#### `artifacts:name` #### `artifacts:name`
使用 `name` 指令定义创建的 `artifacts`的名称 使用 `name` 命令定义创建的 `artifacts`的名称。你可以为每个存档指定唯一的名称。`artifacts:name`
档案。你可以为每个存档指定唯一的名称。`artifacts:name` 变量可以使用任何[预定义变量](/docs/ci/variables)。默认名称是`artifacts`,下载后会变成`artifacts.zip`。
变量可以使用任何[预定义变量](../variables/README.md)。
默认名称是`artifacts`,下载后会变成`artifacts.zip`。
要使用当前流水线任务的名称创建存档: 要使用当前流水线任务的名称创建存档,你可以这样做:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“$CI_JOB_NAME” name: "$CI_JOB_NAME"
路径: paths:
- 二进制文件/ - binaries/
`` ```
使用当前分支或标记的名称创建存档,仅包括 使用当前分支或标记的名称创建存档,仅包含 `binaries` 目录中的文件,你可以这样做:
二进制文件目录:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“$CI_COMMIT_REF_NAME” name: "$CI_COMMIT_REF_NAME"
路径: paths:
- 二进制文件/ - binaries/
`` ```
如果你的分支名称包含正斜杠 如果你的分支名称包含 `/`(例如`feature/my-feature`)建议使用 `$CI_COMMIT_REF_SLUG` 而不是`$CI_COMMIT_REF_NAME` 来命名 `artifacts`。
(例如`feature/my-feature`)建议使用`$CI_COMMIT_REF_SLUG`
而不是`$CI_COMMIT_REF_NAME` 来正确命名 `artifacts`。
使用当前流水线任务和当前分支的名称创建存档或 使用当前流水线任务和当前分支的名称或 tag 创建存档,并且仅包含 `binaries` 目录中的文件,你可以这样做:
标记仅包含二进制文件目录:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“$CI_JOB_NAME-$CI_COMMIT_REF_NAME” name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
路径: paths:
- 二进制文件/ - binaries/
`` ```
要使用当前 [stage](#stages) 和分支名称的名称创建存档: 要使用当前 [stage](#stages) 和分支名称的名称创建存档,你可以这样做:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“$CI_JOB_STAGE-$CI_COMMIT_REF_NAME” name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
路径: paths:
- 二进制文件/ - binaries/
`` ```
--- ---
如果你使用 **Windows Batch** 运行你的 shell 脚本,则需要替换 如果你使用 **Windows Batch** 运行你的 shell 脚本,则需要替换 `$` 和 `%`:
`$` 和 `%`:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%” name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%"
路径: paths:
- 二进制文件/ - binaries/
`` ```
如果你使用 **Windows PowerShell** 运行你的 shell 脚本,则需要替换 如果你使用 **Windows PowerShell** 运行你的 shell 脚本,则需要替换 `$` 和 `$env:`:
`$` 和 `$env:`:
```yaml ```yaml
工作: job:
文物: artifacts:
名称:“$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME” name: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME"
路径: paths:
- 二进制文件/ - binaries/
`` ```
####` `artifacts`:路径`
路径是相对于项目目录(`$CI_PROJECT_DIR`),不能直接 #### `artifacts:paths`
它外面的链接。你可以使用使用 [glob](https://en.wikipedia.org/wiki/Glob_(programming)) 的通配符
模式和:
- 在 [GitLab Runner 13.0](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2620) 及更高版本中, 路径是相对于项目目录(`$CI_PROJECT_DIR`)的,不能直接设置项目外面的链接。你可以使用使用 [glob](https://en.wikipedia.org/wiki/Glob_(programming)) 的通配符模式和 [`doublestar.Glob`](https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.2.2?tab=doc#Match) 模式。
[`doublestar.Glob`](https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.2.2?tab=doc#Match)。
- 在 GitLab Runner 12.10 及更早版本中,
[`filepath.Match`](https://pkg.go.dev/path/filepath#Match)。
要限制特定流水线任务从哪些流水线任务获取 `artifacts`,请参阅 [dependencies](#dependencies)。 要限制特定流水线任务从哪些流水线任务获取 `artifacts`,请参阅 [dependencies](#dependencies)。
发送 `binaries` 和 `.config` 中的所有文件: 要包含 `binaries` 和 `.config` 中的所有文件,你可以这样做:
```yaml ```yaml
文物: artifacts:
路径: paths:
- 二进制文件/ - binaries/
- .config - .config
`` ```
要禁用 `artifacts`传递,请使用空 [dependencies](#dependencies) 定义流水线任务: 要禁用 `artifacts` 传递,请使用空 [dependencies](#dependencies) 来定义流水线任务:
```yaml ```yaml
工作: job:
阶段:构建 stage: build
脚本:进行构建 script: make build
依赖项:[] dependencies: []
`` ```
你可能只想为标记的发布创建 `artifacts`以避免填充 你可能只想为发行版创建 `artifacts` 以避免使用太多的临时 `artifacts` 去占用构建服务器的存储。
使用临时构建 `artifacts`构建服务器存储。
仅为标签创建 `artifacts`(`default-job` 不创建 `artifacts`): 仅为发行版创建 `artifacts`(`default-job` 不创建 `artifacts`),你可以这样做:
```yaml ```yaml
默认流水线任务: default-job:
脚本: script:
- mvn 测试 -U - mvn test -U
除了: except:
- 标签 - tags
发布工作: release-job:
脚本: script:
- mvn 包 -U - mvn package -U
文物: artifacts:
路径: paths:
- 目标/*.war - target/*.war
只要: only:
- 标签 - tags
`` ```
你也可以对目录使用通配符。例如,如果你想获取以 `xyz` 结尾的目录中的所有文件: 你也可以对目录使用通配符。例如,如果你想获取所有以 `xyz` 结尾的目录中的文件:
```yaml ```yaml
工作: job:
文物: artifacts:
路径: paths:
- 路径/*xyz/* - path/*xyz/*
`` ```
####` `artifacts`:公共`
> - [介绍](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49775) 在 GitLab 13.8 #### `artifacts:public`
> - 它[部署在功能标志后面](../../user/feature_flags.md),默认情况下禁用。
> - 它已在 GitLab.com 上启用。
> - 推荐用于生产。
使用 `artifacts:public` 来确定流水线任务 `artifacts`是否应该 使用 `artifacts:public` 来确定流水线任务的 `artifacts` 是否公开可用。
公开可用。
`artifacts:public` 的默认值为 `true`,这意味着 `artifacts:public` 的默认值为 `true`,这意味着匿名和访客用户可以下载公共流水线中的 `artifacts`:
匿名和访客用户可以下载公共流水线:
```yaml ```yaml
文物: artifacts:
公众:真实 public: true
`` ```
拒绝匿名用户和访客用户对公共 `artifacts`的读取访问 拒绝匿名用户和访客用户对公共流水线中 `artifacts`的读取访问,可以将 `artifacts:public` 设置为 `false`:
流水线,将 `artifacts:public` 设置为 `false`:
```yaml ```yaml
文物: artifacts:
公众:假 public: false
`` ```
####` `artifacts`:报告`
> - [介绍](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20390) 在 GitLab 11.2 中。
> - 需要 GitLab Runner 11.2 及更高版本。
使用 [`artifacts:reports`](#artifactsreports)
从流水线任务中收集测试报告、代码质量报告和安全报告。
它还在 GitLab UI 中公开这些报告(合并请求、流水线视图和安全仪表板)。
无论流水线任务结果如何(成功或失败),都会收集测试报告。
你可以使用 [`artifacts:expire_in`](#artifactsexpire_in) 来设置过期时间
他们的文物的日期。
如果你还希望能够浏览报告输出文件,请包括
[`artifacts:paths`](#artifactspaths) 关键字。
##### `artifacts:reports:api_fuzzing` **(终极)**
> - 在 GitLab 13.4 中引入。 #### `artifacts:reports`[](#artifactsreports)
> - 需要 GitLab Runner 13.4 或更高版本。
`api_fuzzing` 报告收集了 [API Fuzzing bug](../../user/application_security/api_fuzzing/index.md) 使用 [`artifacts:reports`](#artifactsreports)从流水线任务中收集测试报告、代码质量报告和安全报告。它还会在合并请求和流水线视图的 UI 中公开这些报告。
作为文物。
收集的 API Fuzzing 报告作为 `artifacts`上传到 GitLab 并在合并中汇总 无论流水线任务结果如何(成功或失败),都会收集测试报告。你可以使用 [`artifacts:expire_in`](#artifactsexpire_in) 来设置过期时间。
请求和流水线视图。它还用于为安全仪表板提供数据。
#####`artifacts:reports:cobertura` 如果你还希望能够浏览报告输出文件,请使用[`artifacts:paths`](#artifactspaths) 关键字。
> - [介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/3708) 在 GitLab 12.9 中。 ##### `artifacts:reports:cobertura`
> - 需要 [GitLab Runner](https://docs.gitlab.com/runner/) 11.5 及更高版本。
`cobertura` 报告收集 [Cobertura 覆盖 XML 文件](../../user/project/merge_requests/test_coverage_visualization.md)。 `cobertura` 报告收集 Cobertura 覆盖 XML 文件。收集的 Cobertura 覆盖率报告作为 `artifacts` 上传并显示在合并请求中。
收集的 Cobertura 覆盖率报告作为 `artifacts`上传到 GitLab
并显示在合并请求中。
Cobertura 最初是为 Java 开发的,但也有很多 Cobertura 最初是为 Java 开发的,但也有很多其他语言(如 JavaScript、Python、Ruby 等)的第三方端口。
其他语言(如 JavaScript、Python、Ruby 等)的第三方端口。
##### `artifacts:reports:codequality` ##### `artifacts:reports:codequality`
> - 在 GitLab 11.5 中引入。 `codequality` 报告收集代码质量问题。
> - [移动](https://gitlab.com/gitlab-org/gitlab/-/issues/212499) 在 13.2 中免费使用 GitLab。
> - 需要 GitLab Runner 11.5 及更高版本。
`codequality` 报告收集[代码质量问题](../../user/project/merge_requests/code_quality.md)
作为文物。
收集的代码质量报告作为 `artifacts`上传到 GitLab,并在合并请求中汇总。
##### `artifacts:reports:container_scanning` **(终极)**
> - 在 GitLab 11.5 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
`container_scanning` 报告收集[容器扫描漏洞](../../user/application_security/container_scanning/index.md)
作为文物。
收集到的容器扫描报告作为 `artifacts`上传到 GitLab
汇总在合并请求和流水线视图中。它还用于提供数据以确保安全
仪表板。
##### `artifacts:reports:coverage_fuzzing` **(终极)**
> - 在 GitLab 13.4 中引入。
> - 需要 GitLab Runner 13.4 或更高版本。
`coverage_fuzzing` 报告收集 [coverage fuzzing bug](../../user/application_security/coverage_fuzzing/index.md)
作为文物。
收集到的覆盖模糊报告作为 `artifacts`上传到 GitLab 并在合并中汇总
请求和流水线视图。它还用于为安全仪表板提供数据。
##### `artifacts:reports:dast` **(终极)**
> - 在 GitLab 11.5 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
`dast` 报告收集 [DAST 漏洞](../../user/application_security/dast/index.md)
作为文物。
收集的 DAST 报告作为 `artifacts`上传到 GitLab,并在合并请求和流水线视图中汇总。它还用于提供数据以确保安全
仪表板。
##### `artifacts:reports:dependency_scanning` **(终极)**
> - 在 GitLab 11.5 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
`dependency_scanning` 报告收集[依赖扫描漏洞](../../user/application_security/dependency_scanning/index.md)
作为文物。
收集到的依赖扫描报告作为 `artifacts`上传到 GitLab,并在合并请求和流水线视图中汇总。它还用于提供数据以确保安全 收集的代码质量报告作为 `artifacts` 上传到并在合并请求中汇总。
仪表板。
##### `artifacts:reports:dotenv` ##### `artifacts:reports:dotenv`
> - [介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/17066) 在 GitLab 12.9 中。
> - 需要 GitLab Runner 11.5 及更高版本。
`dotenv` 报告收集一组环境变量作为 `artifacts`。 `dotenv` 报告收集一组环境变量作为 `artifacts`。
收集的变量被注册为流水线任务的运行时创建的变量, 收集的变量被注册为流水线任务的运行时创建的变量,这对于在流水线任务完成后设置动态环境 URL 会非常有用。
这对于[在流水线任务完成后设置动态环境 URL](../environments/index.md#set-dynamic-environment-urls-after-a-job-finishes) 很有用。
[原始 dotenv 规则](https://github.com/motdotla/dotenv#rules) 有几个例外: [原始 dotenv 规则](https://github.com/motdotla/dotenv#rules) 有几个例外:
- 变量键只能包含字母、数字和下划线 (`_`)。 - 变量键只能包含字母、数字和下划线 (`_`)。
- `.env` 文件的最大大小为 5 KB。 - `.env` 文件的最大大小为 5 KB。
- 在 GitLab 13.5 及更早版本中,最大继承变量数为 10。 - 最大继承变量数为 20。
- 在 [GitLab 13.6 及更高版本](https://gitlab.com/gitlab-org/gitlab/-/issues/247913) 中,
最大继承变量数为 20。
- 不支持`.env` 文件中的变量替换。 - 不支持`.env` 文件中的变量替换。
- `.env` 文件不能有空行或注释(以 `#` 开头)。 - `.env` 文件不能有空行或注释(以 `#` 开头)。
- `env` 文件中的键值不能有空格或换行符 (`\n`),包括使用单引号或双引号时。 - `env` 文件中的键值不能有空格或换行符 (`\n`),包括使用单引号或双引号时。
- 不支持在解析过程中引用转义 (`key = 'value'` -> `{key: "value"}`)。 - 不支持在解析过程中引用转义 (`key = 'value'` -> `{key: "value"}`)。
#####`artifacts:reports:junit` ##### `artifacts:reports:junit`
> - [介绍](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/20390) 在 GitLab 11.2 中。
> - 需要 GitLab Runner 11.2 及更高版本。
`junit` 报告收集[JUnit 报告格式 XML 文件](https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_14.1.0/com.ibm.rsar.analysis.codereview.cobol.doc/topics/ cac_useresults_junit.html) `junit` 报告收集 [JUnit 报告格式 XML 文件](https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_14.1.0/com.ibm.rsar.analysis.codereview.cobol.doc/topics/cac_useresults_junit.html) 作为 `artifacts`。虽然 JUnit 最初是用 Java 开发的,但有很多第三方端口用于其他JavaScript、Python、Ruby 等语言。
作为文物。虽然 JUnit 最初是用 Java 开发的,但有很多
第三方端口用于其他
JavaScript、Python、Ruby 等语言。
有关更多详细信息和示例,请参阅 [单元测试报告](../unit_test_reports.md)。 有关更多详细信息和示例,请参阅 [单元测试报告](../unit_test_reports.md)。下面是从 Ruby 的 RSpec 测试工具收集 JUnit 报告格式 XML 文件的示例:
下面是从 Ruby 的 RSpec 测试工具收集 JUnit 报告格式 XML 文件的示例:
```yaml ```yaml
规格: rspec:
阶段:测试 stage: test
脚本: script:
- 捆绑安装 - bundle install
- rspec --format RspecJunitFormatter --out rspec.xml - rspec --format RspecJunitFormatter --out rspec.xml
文物: artifacts:
报告: reports:
junit:rspec.xml junit: rspec.xml
`` ```
收集到的单元测试报告作为 `artifacts`上传到 GitLab 并显示在合并请求中。
如果你使用的 JUnit 工具导出到多个 XML 文件,请指定
单个流水线任务中的多个测试报告路径
将它们连接成一个文件。使用文件名模式(`junit: rspec-*.xml`),
文件名数组(`junit: [rspec-1.xml, rspec-2.xml, rspec-3.xml]`),或
其组合(`junit: [rspec.xml, test-results/TEST-*.xml]`)。
##### `artifacts:reports:license_management` **(终极)**
> - 在 GitLab 11.5 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
警告:
此 `artifacts`仍然有效,但**已弃用**以支持
[artifacts:reports:license_scanning](#artifactsreportslicense_scanning)
在 GitLab 12.8 中引入。
`license_management` 报告收集 [Licenses](../../user/compliance/license_compliance/index.md)
作为文物。
收集的许可证合规性报告作为 `artifacts`上传到 GitLab,并在合并请求和流水线视图中汇总。它还用于提供数据以确保安全
仪表板。
##### `artifacts:reports:license_scanning` **(终极)**
> - 在 GitLab 12.8 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
`license_scanning` 报告收集 [Licenses](../../user/compliance/license_compliance/index.md)
作为文物。
许可证合规性报告作为 `artifacts`上传到 GitLab 并自动显示在合并请求和流水线视图中,并提供安全数据
仪表板。
##### `artifacts:reports:load_performance` **(PREMIUM)**
> - 在 [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35260) 中引入 [GitLab Premium](https://about.gitlab.com/pricing/) 13.2。
> - 需要 GitLab Runner 11.5 及更高版本。
`load_performance` 报告收集 [负载性能测试指标](../../user/project/merge_requests/load_performance_testing.md)
作为文物。
该报告作为 `artifacts`上传到 GitLab,并且
自动显示在合并请求中。
##### `artifacts:reports:metrics` **(PREMIUM)**
> 在 GitLab 11.10 中引入。
`metrics` 报告收集 [Metrics](../metrics_reports.md)
作为文物。
收集的指标报告作为 `artifacts`上传到 GitLab 并显示在合并请求中。
##### `artifacts:reports:performance` **(PREMIUM)**
> - 在 GitLab 11.5 中引入。
> - 需要 GitLab Runner 11.5 及更高版本。
`performance` 报告收集 [浏览器性能测试指标](../../user/project/merge_requests/browser_performance_testing.md)
作为文物。
收集的浏览器性能报告作为 `artifacts`上传到 GitLab 并显示在合并请求中。
##### `artifacts:reports:requirements` **(终极)**
> - [介绍](https://gitlab.com/groups/gitlab-org/-/epics/2859) 在 GitLab 13.1 中。
> - 需要 GitLab Runner 11.5 及更高版本。
`requirements` 报告收集 `requirements.json` 文件作为 `artifacts`。
收集到的需求报告作为 `artifacts`上传到 GitLab
现有的 [需求](../../user/project/requirements/index.md) 是
标记为满意。
#####`artifacts:reports:sast`
> - 在 GitLab 11.5 中引入。
> - 在 GitLab 13.3 中[在所有层级可用](https://gitlab.com/groups/gitlab-org/-/epics/2098)。
> - 需要 GitLab Runner 11.5 及更高版本。
`sast` 报告收集 [SAST 漏洞](../../user/application_security/sast/index.md)
作为文物。
收集到的 SAST 报告作为 `artifacts`上传到 GitLab 并进行汇总
在合并请求和流水线视图中。它还用于提供数据以确保安全
仪表板。
#####`artifacts:reports:secret_detection`
> - 在 GitLab 13.1 中引入。
> - 在 GitLab 中[在所有层级可用](https://gitlab.com/gitlab-org/gitlab/-/issues/222788)
13.3.
> - 需要 GitLab Runner 11.5 及更高版本。
`secret-detection` 报告收集 [检测到的机密](../../user/application_security/secret_detection/index.md) 收集到的单元测试报告作为 `artifacts` 上传并显示在合并请求中。
作为文物。
收集到的 Secret Detection 报告作为 `artifacts`上传到 GitLab 并汇总 如果你使用的 JUnit 工具导出到多个 XML 文件,请指定单个流水线任务中的多个测试报告路径
在合并请求和流水线视图中。它还用于提供数据以确保安全 将它们连接成一个文件。使用文件名模式(`junit: rspec-*.xml`),文件名数组(`junit: [rspec-1.xml, rspec-2.xml, rspec-3.xml]`),或其组合(`junit: [rspec.xml, test-results/TEST-*.xml]`)的方式。
仪表板。
##### `artifacts:reports:terraform` ##### `artifacts:reports:terraform`
> - [介绍](https://gitlab.com/gitlab-org/gitlab/-/issues/207528) 在 GitLab 13.0 中。 `terraform` 报告获取 Terraform `tfplan.json` 文件。收集到的计划报告作为 `artifacts`上传并显示在合并请求中。
> - 需要 [GitLab Runner](https://docs.gitlab.com/runner/) 11.5 及更高版本。
`terraform` 报告获取 Terraform `tfplan.json` 文件。[删除凭据所需的 JQ 处理](../../user/infrastructure/mr_integration.md#setup)。收集到的地形
计划报告作为 `artifacts`上传到 GitLab 并显示
在合并请求中。有关更多信息,请参阅
[将 `terraform plan` 信息输出到合并请求中](../../user/infrastructure/mr_integration.md)。
#### `artifacts:untracked` #### `artifacts:untracked`
使用 `artifacts:untracked` 将所有 Git 未跟踪文件添加为 `artifacts`(以及 使用 `artifacts:untracked` 将所有 Git 未跟踪文件添加为 `artifacts`(以及使用 `artifacts:paths` 中定义的路径)。`artifacts:untracked` 忽略配置在存储库 `.gitignore` 中的文件。
使用 `artifacts:paths` 中定义的路径)。`artifacts:untracked` 忽略配置
在存储库的`.gitignore` 文件中。
发送所有 Git 未跟踪文件: 发送所有 Git 未跟踪文件:
```yaml ```yaml
文物: artifacts:
未追踪:真实 untracked: true
`` ```
发送所有 Git 未跟踪文件和“二进制文件”中的文件: 发送所有 Git 未跟踪文件和 `binaries` 中的文件:
```yaml ```yaml
文物: artifacts:
未追踪:真实 untracked: true
路径: paths:
- 二进制文件/ - binaries/
`` ```
发送所有未跟踪的文件,但 [排除](#artifactsexclude) `*.txt`: 发送所有未跟踪的文件,但 [排除](#artifactsexclude) `*.txt` 文件:
```yaml ```yaml
文物: artifacts:
未追踪:真实 untracked: true
排除: exclude:
- “*。文本文件” - "*.txt"
`` ```
####` `artifacts`:何时` #### `artifacts:when`
使用 `artifacts:when` 在流水线任务失败时上传 `artifacts`或尽管 使用 `artifacts:when` 在流水线任务失败或不论失败与否时上传 `artifacts` 。
失败。
`artifacts:when` 可以设置为以下值之一: `artifacts:when` 可以设置为以下值之一:
1. `on_success`(默认):仅在流水线任务成功时上传 `artifacts`。 1. `on_success`(默认):仅在流水线任务成功时上传 `artifacts`。
1. `on_failure`:仅在流水线任务失败时上传 `artifacts`。 1. `on_failure`:仅在流水线任务失败时上传 `artifacts`。
1. `always`:始终上传 `artifacts`。很有用,例如,当 2. `always`:始终上传 `artifacts`。例如,当需要上传 `artifacts` 对失败的测试进行故障排除时会非常有用。
[上传 `artifacts`](../unit_test_reports.md#viewing-junit-screenshots-on-gitlab) 需要
对失败的测试进行故障排除。
例如,仅在流水线任务失败时上传 `artifacts`: 例如,仅在流水线任务失败时上传 `artifacts`:
```yaml ```yaml
工作: job:
文物: artifacts:
时间:on_failure when: on_failure
`` ```
###`覆盖范围` ### `coverage`[](#coverage)
使用 `coverage` 配置如何从 使用 `coverage` 配置如何从流水线任务输出。
流水线任务输出。
正则表达式是此处预期的唯一有效值。所以,使用 正则表达式是此处预期的唯一有效值。所以,使用 `/` 包裹是强制性的,以一致且明确地表示
围绕 `/` 是强制性的,以一致且明确地表示 一个正则表达式字符串。如果需要的话,你必须转义特殊字符以从字面上匹配它们。
一个正则表达式字符串。如果你想,你必须转义特殊字符
从字面上匹配它们。
例如: 例如:
```yaml ```yaml
工作1: job1:
脚本:rspec script: rspec
覆盖率:'/代码覆盖率:\d+\.\d+/' coverage: '/Code coverage: \d+\.\d+/'
`` ```
如果流水线任务输出中至少有一行与正则表达式匹配,则覆盖率会显示在 UI 中。 如果流水线任务输出中至少有一行与正则表达式匹配,则覆盖率会显示在 UI 中。
如果流水线任务输出中有多个匹配的行,则使用最后一行。 如果流水线任务输出中有多个匹配的行,则使用最后一行。
......
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7