有没有办法获取代码被更改的目录路径?我希望能够运行一个仅扫描更改的特定目录的脚本
stage1:
stage: stage-name
script:
- scan --path "$SCAN_PATH"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"`
changes:
- /example-path/**/*
allow_failure: true
我尝试搜索多个 gitlab 变量但找不到任何相关内容
编辑:更改了示例的编辑路径
有一种方法可以动态实现此目的,尽管它需要在矩阵下列出文件夹上可用的不同路径。在 GitLab 中,没有变量可以直接为您提供此信息,因此此设置将作为解决方法。
以您为例,上述想法的实现如下所示:
stage1:
stage: stage-name
parallel:
matrix:
- SCAN_PATH:
- /example-subdir
- /example-subdir2
script:
- scan --path "$SCAN_PATH"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"`
changes:
paths:
- /example-path/$SCAN_PATH/*
allow_failure: true
它将为每个更新的文件夹生成一个作业,该作业将扫描特定路径。如果有一个文件夹未收到更新,则由于
rules:if
条件,该作业将不会触发