存储构建工件

本文介绍如何使用在以下部分文物工作:

文物简介

工作已完成,可用于构建过程的输出保存后文物留存数据。

例如,当一个Java构建/测试过程完成,该过程的输出保存为。罐文件。CircleCI能过程完成后该文件存储为一个神器,保持它可用。

伪像数据流“></p>
      <p>伪像的另一个例子是打包为Android应用的一个项目,其中<code class=apk文件文件被上传到谷歌播放。

如果作业产生持久的文物,如截屏,覆盖报告,核心文件,或部署压缩包,CircleCI可以自动保存并链接它们。

文物标签的屏幕截图“></p>
      <p>查找链接到器物上的“神器”选项卡下<strong>招聘页面</strong>。文物存储在Amazon S3和您的CircleCI帐户用于私人项目的保护。有一个3GB<code class=卷曲文件大小限制。

文物将成为创造三十天后访问。如果你是依靠他们作为文档或持续性内容的来源,我们建议部署输出到一个专用输出目标,例如S3或GitHub的网页或Netlify静态网站。

注意:属性编码上传的工件文件名Java的类URLEncoder。请记住这一点,如果你希望找到在应用程序中给定路径文物。

上传产品

要上传构建过程中创建的工件,用下面的例子:

2职位构建搬运工人-图片蟒蛇:3.6.3,杰西AUTH用户名mydockerhub用户密码DOCKERHUB_PASSWORD美元#背景/项目UI ENV-VAR参考working_directory的/ tmp目录脚步-名称创建虚拟文物命令|回声 “我的伪影文件”> / TMP /伪像-1;MKDIR / TMP /伪影;回声“在我的目录文件伪像”> / TMP /伪影/伪像-2;-store_artifacts路径的/ tmp /伪像-1目的地神器文件-store_artifacts路径的/ tmp /伪影

store_artifacts步骤上传2个构建构件:一个文件(的/ tmp /伪像-1)和一个目录(的/ tmp /伪影)。文物成功上传后,在查看它们文物的标签招聘页面在浏览器中。如果您上传数以百计的文物,然后再考虑压缩和上传作为一个单一的压缩文件加快这一步骤。
目前,正在对数量没有限制store_artifacts步骤的作业都可以运行。

目前,store_artifacts有两个密钥:路径目的地

  • 路径被该文件或目录的路径要被上载的伪像。
  • 目的地(可选的)是添加到在工件API工件路径的前缀。该文件的目录中指定路径作为默认值。

上传核心文件

本节将介绍如何获得核心转储并把它们压文物进行检查和调试。下面的示例创建一个短C程序运行中止(3)使程序崩溃。

  1. 创建一个Makefile文件用下面的行:

    所有:GCC -o转储的main.c
  2. 创建一个main.c中通过下面的代码文件。

    的#include 中INT主(INT的argc,焦炭** argv的){中止();}
  3. 使。/倾倒所生成的程序来打印中止(核心转储)

以下是一个完整的config.yml该编译例C中止程序,并收集核心转储作为伪像。

2职位构建搬运工人-图片GCC:8.1.0AUTH用户名mydockerhub用户密码DOCKERHUB_PASSWORD美元#背景/项目UI ENV-VAR参考working_directory的~ /工作脚步-查看-使-|#告诉操作系统删除核心转储文件的文件大小限制的ulimit -c无限。/倾倒-命令|MKDIR -p / TMP / core_dumpsCP的核心。*的/ tmp / core_dumps什么时候on_fail-store_artifacts路径的/ tmp / core_dumps

的ulimit -c无限消除了对核心转储文件的文件大小限制。随着限去除,每一个程序崩溃会在当前工作目录中一个核心转储文件。核心转储文件被命名为核心。%P。%E哪里%p是进程ID和%E是可执行文件的路径名。请参阅的/ proc / SYS /内核/ core_pattern了解详情。

最后,核心转储文件存储与文物服务store_artifacts的/ tmp / core_dumps目录。

在文物页核心转储文件“></p>
      <p>当CircleCI运行作业,以核心转储文件的链接将出现在的古文物]标签<strong>招聘页面</strong>。</p>
      <h2 id=下载所有工件上CircleCI一个Build

要下载与文物卷曲,按照下面的步骤。

  1. 创建个人API令牌并将其复制到剪贴板。

  2. 在一个终端窗口,光盘到一个目录要存储的工件。

  3. 运行下面的命令。使用该表的命令之下,为与开始所有的变量替换实际值

出口CIRCLE_TOKEN=':your_token'卷曲-H“圆令牌:$ CIRCLE_TOKEN//www.drag240sx.com/api/v1.1/project/:vcs-type/:username/:project/:build_num/artifacts\|grep的-o的 'https:// [^“] *'\|wget的--verbose--header“圆令牌:$ CIRCLE_TOKEN- 输入文件-

同样,如果您想要下载最新构建的文物,更换符合此方案中的URL卷曲电话:

卷曲-H“圆令牌:<圆令牌>”//www.drag240sx.com/api/v1.1/project/:vcs-type/:username/:project/latest/artifacts

你可以阅读更多有关使用CircleCI的API与文物互动我们API参考指南

占位符 含义
: your_token 个人API令牌创建之上。
:VCS型 版本控制系统(VCS)所使用。或github上要么到位桶
:用户名 在VCS项目目标项目帐户的用户名或组织名称。坐落在CircleCI应用程序屏幕左侧的顶部。
:项目 目标VCS库的名称。
:build_num 对于要下载的文物建造数量。

命令的说明

首先,创建CIRCLE_TOKEN环境变量。然后,卷曲命令获取用于构建和他们管所有工件的详细信息grep的提取的URL。运用sed的你的圈子令牌附加到文​​件创建一个唯一的文件名。最后,wget的用于下载的文物到当前目录中的终端。

也可以看看

缓存的依赖关系