知识库被覆盖问题讨论#28
在一个仓库中使用知识库,如果从保护分支临时创建一个新的分支,在新的分支中,修改 .cnb.yml ,增加下面的内容:
mybranch: push: knowledge_base: stages: - name: build knowledge base image: cnbcool/knowledge-base settings: include: "**/**.md"
那么只需要在临时分支上提交代码,就会覆盖整个仓库的知识库。
如果是恶意修改文档内容,会造成知识库使用混乱。
是否可以在知识库中做下限制,仅在 pull_request 等事件中生效?
pull_request
不存在越权覆盖知识库的情况的。 现在要能写入知识库,需要有仓库的写权限。意味着必须有写权限的用户触发流水线,才能更新知识库。 如果要担心被其他仓库成员不小心写入知识库,应该编写好流水线,比如仅在main分支的push事件,才触发插件更新知识库,然后把main分支设置成保护分支,必须走查后才能合入。
@loviselu(卢嘉辉) 明白,但如果一个拥有仓库写权限的用户,恶意在自己临时分支上添加 .cnb.yml 的上述内容,是否也可以实现覆盖仓库的知识库
mybranch: push: # 构建知识库
为啥要给恶意用户,仓库写权限?
在一个仓库中使用知识库,如果从保护分支临时创建一个新的分支,在新的分支中,修改 .cnb.yml ,增加下面的内容:
mybranch: push: knowledge_base: stages: - name: build knowledge base image: cnbcool/knowledge-base settings: include: "**/**.md"那么只需要在临时分支上提交代码,就会覆盖整个仓库的知识库。
如果是恶意修改文档内容,会造成知识库使用混乱。
是否可以在知识库中做下限制,仅在
pull_request等事件中生效?