我想通过变量设置 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
我该如何解决这个问题?
尽管似乎不可能使用变量
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>'
通过设置规则,您可以在正确的时间执行正确的工作。