如果阶段失败,即使在配置中使用“when:always”,CI 工件也不会上传

use*_*793 5 gitlab gitlab-ci

我在构建和测试阶段使用 powershell 和 msbuild。

测试阶段的配置如下:

test:
  stage: test
  artifacts:
    when: always
    name: "${CI_BUILD_STAGE}_${CI_BUILD_REF_NAME}"
    expire_in: 1 week
    paths:
      - TestResults/
  dependencies: 
    - build
  script:
    - ./.gitlab-ci/Test.ps1
  tags: 
    - powershell
    - msbuild
Run Code Online (Sandbox Code Playgroud)

成功测试运行后(Test.ps1 返回 0),它会按预期上传工件:

Uploading artifacts...

TestResults/: found 15 matching files              
Uploading artifacts to coordinator... ok

Build succeeded
Run Code Online (Sandbox Code Playgroud)

但是,如果测试运行失败,它就会失败并且不会上传任何内容:

ERROR: Build failed: exit status 1
Run Code Online (Sandbox Code Playgroud)

解决了

正如卡斯卡瓦尔建议的那样,我必须更新跑步者。