作业工件介绍
注:
- 自GitLab 8.2和GitLab Runner 0.7.0以来,由GitLab Runner创建的作业工件被上传到GitLab,并可作为单个存档下载(
tar.gz
)使用GitLab用户界面。- 从GitLab 8.4和GitLab Runner 1.0开始,工件归档格式更改为
邮政编码
,现在可以浏览其中的内容,还可以单独下载文件。- 从GitLab 8.17开始,构建被重命名为作业。
- 工件浏览器将仅对使用GitLab Runner 1.0及以上版本发送到GitLab的新工件可用。不能浏览已经上传到GitLab的旧构件。
- 这是用户文档。有关管理指南,请参阅政府/ job_artifacts。
工件是任务成功完成后附加到任务的文件和目录的列表。在所有GitLab安装中默认启用该特性。
.gitlab-ci.yml
定义工件中使用工件定义的简单示例.gitlab-ci.yml
如下:
pdf:脚本:xelatex mycv.tex工件:路径:-mycv.pdfexpire_in:1周
一份名为pdf
调用xelatex
命令,以便从latex源文件构建PDF文件mycv.tex
。然后定义工件
方法定义的路径路径
关键字。文件和目录的所有路径都相对于构建期间克隆的存储库。这些上传的工件将在GitLab中保存1周expire_in
定义。方法可以防止工件过期web界面。如果您没有定义有效期,那么工件将永远保存。
有关构件的更多示例,请参见中的工件引用.gitlab-ci.yml
。
浏览工件
注意:使用GitLab 9.2, pdf、图像、视频和其他格式可以直接在作业构件浏览器中预览,而无需下载它们。
注意:与GitLab 10.1,公共项目中的HTML文件可以直接在新选项卡中预览,而不需要下载它们GitLab页面启用了
作业完成后,如果访问作业的特定页面,会有三个按钮。您可以下载工件存档或浏览其内容,而保持按钮仅在设置截止日期藏物,以防你改变主意想要保留它们。
存档浏览器显示存档中每个文件的名称和实际文件大小。如果您的工件包含目录,那么您也可以在其中浏览。
下面你可以看到浏览的样子。在这种情况下,我们已经浏览了存档内部,在这一点上,有一个目录,几个文件,和一个HTML文件,你可以直接在线查看时GitLab页面启用(在新选项卡中打开)。
下载的工件
如果你需要下载整个存档,在GitLab的各个地方都有按钮可以实现。
在管道页面,你可以在右下角看到每个作业工件存档的下载图标:
而在工作页面中,你可以在右下角看到每个作业工件存档的下载图标:
在一个特定的作业中,你会看到一个下载按钮和一个浏览存档的按钮:
最后,当你浏览档案时,你可以在右上角看到下载按钮:
下载最新的工件
可以通过一个众所周知的URL下载作业的最新构件,以便将其用于脚本编写。
注意:最新的工件被认为是由最近的管道中的作业创建的工件,该作业为特定的引用成功了。其他管道的工件可以通过直接访问来访问。
下载整个工件存档的URL结构如下:
项目名称空间https://example.com/ < > / < > / - /工作/工件/ < ref > /下载吗?工作= < job_name >
要从工件下载单个文件,请使用以下URL:
项目名称空间https://example.com/ < > / < > / - /工作/工件/ < ref > /生/ < path_to_file >吗?工作= < job_name >
例如,下载指定作业的最新工件报道
的主
的分支gitlab-ce
的项目gitlab-org
命名空间,URL将是:
https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/artifacts/master/download?job=coverage
下载文件覆盖/ index . html
从相同的工件使用以下URL:
https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/artifacts/master/raw/coverage/index.html?job=coverage
还有一个URL可以浏览最新的作业工件:
项目名称空间https://example.com/ < > / < > / - /工作/工件/ < ref > /浏览?工作= < job_name >
例如:
https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/artifacts/master/browse?job=coverage
最新的版本也会在UI的不同位置公开。具体地说,在下面找到下载按钮:
- 主项目页面
- 分支页面
- 标签页
如果最新的作业未能上传工件,您可以在UI中看到该信息。
消除工件
危险:警告:这是导致数据丢失的破坏性操作。请谨慎使用。
如果你至少有Developer的话权限在项目中,您可以通过UI删除单个作业,这也将删除工件和作业的跟踪。
- 导航到作业页面。
- 单击作业跟踪右上方的垃圾图标。
- 确认删除操作。