如何通过 .gitlab-ci.yml 中的变量设置 SAST 工件的 expire_in

问题描述 投票:0回答:1

我想通过变量设置 SAST 工件的 expire_in 。原因是,每个环境的持续时间应该不同。

例如,在开发阶段 -> 30 天。在阶段 -> 从不

variables:
  SAST_EXPIRE_IN: "30 days"

sast:
  stage: pre-build-tests
  artifacts:
    expire_in: $SAST_EXPIRE_IN
    paths:
      - gl-sast-report.json
    reports:
      sast: gl-sast-report.json

提交代码时出现以下错误。

jobs:sast:artifacts expire in should be a duration

我该如何解决这个问题?

gitlab-ci sast
1个回答
0
投票

尽管似乎不可能使用变量

expire_in
(请参阅开放的gitlab问题),您可以通过使用两个不同的作业来解决它:

sast_stage:
  stage: pre-build-tests
  artifacts:
    expire_in: never
    paths:
      - gl-sast-report.json
    reports:
      sast: gl-sast-report.json
  rule:
    - if: '<Rule that only applies for stage>'

sast_dev:
  stage: pre-build-tests
  artifacts:
    expire_in: 30 days
    paths:
      - gl-sast-report.json
    reports:
      sast: gl-sast-report.json
  rule:
    - if: '<Rule that only applies for dev>'

通过设置规则,您可以在正确的时间执行正确的工作。

© www.soinside.com 2019 - 2024. All rights reserved.