无法使用GitLab CI找到我的工件

时间:2017-04-20 19:31:59

标签: gitlab gitlab-ci gitlab-ci-runner

我在gitlab.com上使用共享的跑步者。指南here显示了工作工件的一个部分。但是当我开始工作并查看我的工作页面时,我只看到了这一点:

screenshot of GitLab CI

没有关于工件的部分。

我该怎么办?

这是我的.gitlab-ci.yml

image: node:7.9

stages:
  - lint
  - test

cache:
  paths:
    - node_modules/

before_script:
  - npm install
  - npm install -g grunt-cli

lint:
  stage: lint
  script:
    - grunt lint

test:
  stage: test
  script:
    - grunt
    - grunt test
    - grunt coveralls
  artifacts:
    paths:
      - dist/project*.min.js*

3 个答案:

答案 0 :(得分:3)

您的工件是否在失败测试中创建(例如,测试失败时的屏幕截图)?

如果是这样,你必须考虑到,Gitlab中的工件是默认的only collected for successful tests

您必须明确将Gitlab CI配置为始终收集它们,例如

test: ... artifacts: when: always paths: - ...

答案 1 :(得分:1)

您找不到工件的另一个原因是 GitLab 13.8(2021 年 1 月):

<块引用>

项目配置以控制最新工件的存储

保留最近成功作业中的最新工件是一种有用的默认行为,但也会导致大量存储使用。
如果您的管道会生成大型工件,这可能会导致磁盘空间使用量意外激增。

为了改进存储消耗管理,您现在可以在设置中为任何项目禁用此行为。

接下来,gitlab#276583 将允许您完全禁用在实例级别保留最新工件。

https://about.gitlab.com/images/13_8/keep_latest_artifact_project_setting.png -- Project configuration to control storage of latest artifacts

参见 DocumentationIssue

因此,如果您没有选择该选项,您将无法找到任何工件。

答案 2 :(得分:0)

这可能有几个原因没有发生。很可能该文件从未生成过,因此无法作为工件提供。您可以在输出中找到原因。

工件上传总是记录在输出中,例如,这是我的构建中的一些调试:

Redirect "/folder/" "https://mywebsite.org/folder/"

如果你没有看到类似的东西,很可能也会记录原因。