管道的设置
要到达管道设置导航到您的项目设置➔CI/CD.
可以为每个项目配置以下设置。
Git策略
使用Git策略,您可以选择在作业中从GitLab获取存储库的默认方式。
有两种选择:
- 使用
git克隆
这是较慢的,因为它为每个作业从头克隆存储库,确保项目工作区始终是原始的。 - 使用
git获取
这更快,因为它可以重用项目工作区(如果不存在,则返回克隆)。
方法可以覆盖默认的Git策略GIT_STRATEGY变量在.gitlab-ci.yml
.
超时
超时时间定义作业能够运行的最大时间(以分钟为单位)。缺省值为60分钟。如果您想对作业的运行时间施加硬性限制,可以减少时间限制,否则可以增加时间限制。在任何情况下,如果作业超过阈值,则将其标记为失败。
运行程序级别的超时重写
- 介绍了在GitLab 10.7中。
项目定义的超时(用户设置的特定超时或默认的60分钟超时)可能是在Runner级别被覆盖.
自定义CI配置路径
- 介绍了在GitLab 9.4中。
默认情况下,我们寻找.gitlab-ci.yml
文件在项目的根目录下。如果你需要一个不同的位置在在存储库中,您可以设置一个自定义的文件路径,该文件路径将用于查找配置文件,这个文件路径应该是相对到根源。
以下是一些有效的例子:
- .gitlab-ci.yml
- .my-custom-file.yml
- 我的/道路/ .gitlab-ci.yml
- 我的/道路/ .my-custom-file.yml
测试覆盖解析
如果在代码中使用测试覆盖率,GitLab可以使用正则表达式在作业日志中捕获其输出。在管道设置中,搜索“测试覆盖解析”部分。
如果要禁用它或输入红宝石正则表达式,请留空。你可以使用http://rubular.com测试你的正则表达式。
如果管道成功,覆盖率将显示在合并请求小部件和作业表中。
在管道设置页面中可以找到一些针对各种语言的已知覆盖工具的示例。
管道的可见性
对管道和作业详细信息(包括日志和工件的输出)的访问将根据当前用户访问级别和公共管道项目下的项目设置> CI/CD >常规管道设置.
如果公共管道启用(默认):
- 为公共在项目中,任何人都可以查看管道并访问作业细节(输出日志和工件)
- 为内部项目,任何登录的用户都可以查看管道并访问作业细节(输出日志和工件)
- 为私人项目,任何成员(客户或更高级别)都可以查看管道并访问作业详细信息(输出日志和工件)
如果公共管道禁用:
- 为公共项目中,任何人都可以查看管道,但是只有成员(报告者或更高级别)可以访问作业细节(输出日志和工件)
- 为内部项目,任何登录的用户都可以查看管道,但是只有成员(报告者或更高级别)可以访问作业详细信息(输出日志和工件)。
- 为私人项目,只有成员(报告人员或更高级别)可以查看管道并访问作业详细信息(输出日志和工件)
自动取消挂起的管道
介绍了在GitLab 9.1中。
如果你想自动取消分支上所有挂起的非head管道,当新的管道被创建时(在你的git推送后或手动从UI),检查自动取消挂起的管道复选框并保存更改。
管道徽章
在管道设置页面中,您可以找到项目的管道状态和测试覆盖标志。最新成功的管道将用于读取管道状态和测试覆盖率值。
访问项目中的管道设置页面,查看徽章的确切链接,以及将徽章图像嵌入HTML或Markdown页面的方法。
管道状态标识
根据您的工作状态,徽章可以有以下值:
- 等待
- 运行
- 通过了
- 失败的
- 跳过
- 取消了
- 未知的
您可以使用以下链接访问管道状态徽章图像:
项目名称空间https://example.gitlab.com/ < > / < > /徽章/ <分支> / build.svg
测试覆盖率报告徽章
GitLab允许定义的正则表达式覆盖率报告,每个作业日志将与之匹配。这意味着管道中的每个作业都可以定义测试覆盖率百分比值。
测试覆盖率徽章可以通过以下链接访问:
项目名称空间https://example.gitlab.com/ < > / < > /徽章/ <分支> / coverage.svg
如果您想从特定的工作获得覆盖率报告,您可以添加工作= coverage_job_name
参数设置为URL。例如,下面的Markdown代码将嵌入测试覆盖率报告徽章报道
在你的工作中README.md
:
!报道) (https://gitlab.com/gitlab-org/gitlab-ce/badges/master/coverage.svg?job=coverage)