上云无忧 > 文档中心 > 百度智能云代码托管 iCode 使用教程 - 权限管理
代码托管 iCode
百度智能云代码托管 iCode 使用教程 - 权限管理

文档简介:
权限管理是代码托管平台的核心功能之一。 概述:权限管理的维度有两种: 代码库级别,例如:baidu/icode/portal。 二级目录级别,例如:baidu/icode。 权限的类型有四种: 管理员、 可写权限、 可读权限、 其他(未设置权限的人)。 【百度智能云】效率云
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

权限管理是代码托管平台的核心功能之一

概述

权限管理的维度有两种:

  • 代码库级别,例如:baidu/icode/portal
  • 二级目录级别,例如:baidu/icode

权限的类型有四种:

  • 管理员
  • 可写权限
  • 可读权限
  • 其他(未设置权限的人)

权限等级:管理员>可写>可读>其他,上级权限拥有所有的下级权限,一个人对一个代码库只能拥有一种权限。

错误Case:小明是某个git仓库的管理员,有一天小明想要提交代码,故去iCode给自己加了“可写权限”。

点评:小明没有领悟到“上级权限拥有所有的下级权限”这个点,当小明给自己赋予“可写权限”的同时他也失去了管理员的身份。

权限模型

权限 管理员 其他 解释
读代码 下载代码库或者通过icode网页浏览某个分支代码
发评审 向某个分支发评审
提交代码 得到+2评分后,通过icode网页提交代码
新建分支 拉出一个新分支
删除自己的分支 删除自己新建的分支
删除任意分支 删除某个分支
评审+2 通过icode网页为某个评审打分,打分为+2表示评审通过,-2、-1、1均表示未通过评审
新建标签 建立一个新标签
其他git库 push一个全新的分支到代码库
代码导入 将某个git库的代码和历史一同导入icode上的git库
iCode库 注:不需要评审
修改代码库设置和权限 修改代码库的设置、提交规则、权限、删除代码库

这里提到的“分支”均指远程仓库的分支,与本地仓库分支无关

权限等级及职责

权限 定义
管理员(修改配置和权限;+2评分;提交代码) 代码库的负责人。管理员只能针对库级别设置,不能再目录级别设置。除了具备【写】的权限外相比,独有的权限:
修改代码库配置管理代码库各级权限删除任意分支删除任意标签废弃任意评审将某个git库的代码和历史导入icode git库
写(+2评分;提交代码) 代码库开发者。除了具备【读】的权限外,独有的权限:
给出+2评分提交代码
读(发评审;得到+2评分后提交代码) 代码库开发者。与【其他】相比,独有的权限:
可以访问私有库得到+2评分以后,可以提交代码
其他 代码库的可选参与者权限限制:
只能访问公司内部公开的代码库

权限的默认规则

我们将baidu/xxx这样的二级路径称为目录,将baidu/xxx/yyy这样的三级路径称为代码库,目录是多个代码库的集合。

规则

  • 拥有目录一级权限的人同时拥有目录下所有代码库的对应权限

举例:[zhangsan]同学拥有目录baidu/lalala的写权限,同时[zhangsan]就会拥有名为baidu/lalala/*的任意代码库的写权限

  • 目录下的代码库可以设置不继承目录的写成员和读成员,但必须继承目录的管理员
  • 默认只有目录维度的成员(包括:管理员、写、读)才能创建代码库,其他人都不能创建代码库
  • 在目录下可以关闭此限制,关闭后所有人都可以在此目录下创建代码库
  • 代码库的创建者会成为代码库的第一个也是唯一一个管理员
  • 没有专门创建目录的功能,目录是伴随目录下的第一个代码创建而自动创建的,创建人会成为目录和代码库的管理员

权限申请与管理

作为小白如何申请Git代码库的各种访问权限

默认:所有企业内用户对“公开”的代码库有只读和发评审的权限,对保密模块没有任何权限

请直接联系代码库任意一个【管理员】申请成为代码库的【管理员】或【可写】或【可读】

作为产品/团队负责人如何申请目录管理员、写、读权限

为了便于团队管理权限,于2017年初上线了目录管理权限的能力。在此之前已经创建的二级目录,管理员为空,需要的话,请联系平台管理员。

新建目录的第一人,会成为默认的目录管理员,可以给其他人添加目录维度的权限。

若目录管理员为空怎么办?为什么设计如此麻烦的申请过程?

推选一位合适的目录管理员,先让这位同学成为目录下面所有代码库的管理员,然后联系icode平台管理员将其加为目录管理员。

出于安全的考虑。早先iCode并不支持目录管理权限,任何人都可以在任何目录下创建代码库,这就导致一些目录下同时包含了两个团队/产品的代码库。故为了保证代码权限不扩散,我们出了这个严格的审计流程。

作为管理员如何给他人添加/删除权限

进入项目页面,切换到“权限设置”页面即可。

注意事项

  • 加入管理员组就会有管理员的权限,加入写/读组就会有写/读的权限。
  • 只能以个人为单位加权限。
  • 具有管理员权限的人可以将新人加入到管理员组或写权限组或读权限组。
  • 代码库至少存在一个管理员。

变更审计

在“变更审计”页面提供查看代码库权限和类型变更的历史记录,仅代码库的管理员可以查看。

相似文档
  • 当我们对代码质量有较高要求的情况下,再使用git push直接将代码推入远程仓库的方法就难以满足我们的需求了。为此iCode为大家提供了人工评审和预提交测试的功能,下面介绍下开启方法和效果。 【百度智能云】效率云
  • 实际的项目开发中,往往不可避免的需要在master之外的其他分支提交代码。拉分支的情况可能有以下几种,不论你是哪种场景,原理都是相通的。 【百度智能云】效率云
  • 小贴士:iCode除了做好本职的工作,从使用者的角度出发,增加了云端编译功能,同时还和iPipe打通可以做一些持续集成和交付相关的事情哟~小伙伴儿们按需使用哦~ iCode联合ipipe和编译工具一起,只要代码托管在iCode,再写个ci.yml的编译配置文件就可以实现持续集成和交付。 【百度智能云】效率云
  • 本地工作: 一个任务用一个分支,可以提交多次。 git checkout -b 1-add-a-py vi a.py git add a.py git commit -m'add a.py' vi a.py git add a.py git commit -m'print hello world' push到服务器: git push origin HEAD:refs/for/master //评审系统中生成一条评审记录,评审的代码就是当前工作中的分支(HEAD)。本地分支1-add-a-py => 远端评审系统 => 远端master。 【百度智能云】效率云
  • 1.下载代码库时的安装hook是干什么用的? 安装了此hook后,每次push会进行相应的检查,检查合格才能入库。 2.commit-msg是运行在客户端的一个git hook 它在每次git commit的时候自动往commit message末尾附加一行随机的change-id,如下图 【百度智能云】效率云
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部