1 、代码在公司自己的 gitlab 服务器。
2 、root 下建项目,每个用户 fork 。
3 、然后在自己的项目上开发,开发完成后,发 mr 到 root 的 develop 分支。项目 master review mr 的代码,无异议后 merge 。
现在需求:希望在 mr 发出后,先通过 sonarqube 扫描代码。通过质量门禁后,才可以合并。
现在的做法:
1 、root 下的项目打开 ci/cd 功能,设置必须通过代码扫描才能合并。
2 、sonarqube 、gitlab 已经配置完成。
3 、.gitlab-ci.yml 文件写好。
现在的问题:
1 、项目 master 或 owner 角色,去发其他任何用户的 mr ,正常触发 pipelines ,且正常完成扫描。
2 、其他用户( developer 角色)发 mr ,无法触发正常触发 pipelines 。 [希望能触发]
3 、如果打开用户 fork 过的项目的 ci/cd 功能,用户的每次 commit 都将触发扫描。 [分支名称是 develop ,在 only 参数范围内,所以会扫码,希望用户的 commit 不要扫描,只要扫描 mr ]
疑问:我这种需求,是不是 only 参数只要:merge_requests ?不需要扫码 develop 分支?