簡體   English   中英

使用 GitLab CI 找不到我的工件

[英]Can’t find my artifacts with GitLab CI

我在 gitlab.com 上使用共享跑步者。 此處的指南顯示了作業工件的部分。 但是當我運行我的工作並查看我的工作頁面時,我只會看到:

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*

您的工件是否在失敗的測試運行中創建(例如,測試失敗時的屏幕截圖)?

如果是這樣,您必須考慮到 Gitlab 中的工件作為默認設置僅在成功測試時收集

您必須明確配置 Gitlab CI 以始終收集它們,例如

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

使用GitLab 13.8 (2021 年 1 月)找不到工件還有另一個原因:

項目配置以控制最新工件的存儲

從最近成功的作業中保留最新的工件是一個有用的默認行為,但也可能導致大量的存儲使用。
如果您有生成大型工件的管道,這可能會導致磁盤空間使用量意外激增。

為了改進存儲消耗管理,您現在可以在設置中為任何項目禁用此行為。

接下來, gitlab#276583將允許您完全禁用在實例級別保留最新工件。

https://about.gitlab.com/images/13_8/keep_latest_artifact_project_setting.png -- 控制最新工件存儲的項目配置

請參閱文檔問題

因此,如果您沒有選擇該選項,則您將找不到任何工件。

導致這種情況不發生的原因可能有多種。 很可能該文件從未生成過,因此無法作為工件使用。 您可以在輸出本身中找到造成這種情況的原因。

工件上傳也始終記錄在輸出中,例如這是我的構建中的一些調試:

Uploading artifacts...
storage/logs/lumen.log: found 1 matching files     
Uploading artifacts to coordinator... ok            id=1444 responseStatus=201 Created token=MHYPxxWu

如果您沒有看到類似的內容,很可能也會記錄原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM