【问题标题】:exclude project from GitLab CI/CD pipeline从 GitLab CI/CD 管道中排除项目
【发布时间】:2021-12-21 04:16:05
【问题描述】:

我的仓库中有两个子项目。 第一个是 .Net 5,第二个是 SharePoint 解决方案。两个项目都位于一个分支中。 如何只为一个项目配置管道?

我只需要通过 .Net 5 项目的 SAST 测试。现在两个项目都在测试中。

在我的.gitlab-ci.yml

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

stages:
- test

sast:
  stage: test
  tags:
  - docker

【问题讨论】:

    标签: gitlab gitlab-ci


    【解决方案1】:

    首先 - 将多个项目放在一个仓库中是个坏主意。

    其次,Gitlab SAST 模板旨在“简单易用”,但它的底层非常复杂,并且使用了许多不同的 SAST 工具。

    确实可以通过变量获得一些配置选项,但这些选项大多特定于您正在扫描的语言/文件。对于某些语言,有一些变量可以限制正在扫描的目录/路径。

    由于您没有提供足够的信息来提出具体建议,您可以在此处的官方文档中查找您的项目所需的变量:https://docs.gitlab.com/ee/user/application_security/sast/#available-cicd-variables

    【讨论】:

    • putting multiple projects into one branch 不就是所谓的 monorepo 吗?
    【解决方案2】:

    如果每个项目,可以有特定的分支名称,你可以使用 only--exceptrules 关键字来确定何时运行作业。

    sast:
      stage: test
      tags:
      - docker
      only:
        - /^sast-.*$/
    

    这是针对特定工作的,不确定整个管道。

    【讨论】:

    • 不,一个分支有两个项目。
    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 2021-11-30
    • 2021-04-17
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2022-08-11
    • 2021-12-28
    相关资源
    最近更新 更多