获取包含的 gitlab 模板的工件

Get artifacts of included gitlab template

我想在我的最终管道阶段(报告)中使用由 Security/SAST.gitlab-ci.yml 模板创建的工件。

如何修改 Security/SAST.gitlab-ci.yml 模板以将工件存储在我的项目目录中的某个位置?我试图为此模板定义以下内容,但这不起作用:

artifacts:
  paths:
    - binaries/

我很高兴得到各种支持。

谢谢

解决方案

您的参数需要更新。由于 SAST.gitlab-ci.yml 无法直接更新,您需要覆盖 gitlab-ci.yml 中包含该文件的块之一,或者定义并包含您的自定义 SAST.gitlab-ci.yml。看起来你可以简单地覆盖 sast 块。具体来说,覆盖 artifacts -> reports -> sast 参数。

示例

sast:
  stage: test
  artifacts:
    reports:
      sast: gl-sast-report.json

您还需要确保阶段和构建步骤类似于


stages:
  - build
  - test

include:
  - template: Security/SAST.gitlab-ci.yml

build:
  stage: build
  script:
    - ...
  artifacts:
    paths:
      - binaries/

参考资料

Gitlab SAST: https://docs.gitlab.com/ee/user/application_security/sast/