# 使用说明
# 代码库选择
点击左侧“代码库”主菜单即可显示代码托管平台主界面,主界面以“全部”、“我是管理员”、“我的收藏”三个标签页分别显示了代码库列表的分组。而且系统会自动记住你上次的选择,方便下次使用。第一次进入主界面时不会出现代码库下的功能菜单,当选择一个代码库进入后,会显示代码库操作的二级菜单。
# 创建代码库
本代码托管平台主界面右上角“创建代码库”按钮可进行代码库的创建,创建可以新建或者导入。
# 文件
选择代码库进入,默认展示在文件页面。
页面最上方是面包屑,然后是当前仓库master分支的一级目录结构、对应最新提交(即commit)、排序、创建文件按钮、上传按钮、下载按钮、放大&缩小按钮。点击切换master为其他分支,即可查看其他分支代码的一级目录结构及对应最新提交。
右上角展示的是克隆Git仓库地址按钮和收藏代码库按钮。Git仓库地址分为HTTPS( https://ezone.work/git/企业域名/目录名称/仓库名称 )和SSH(ssh://ezone.work/git/企业域名/目录名称/仓库名称 )两种方式,点击地址上方的链接可切换到对应方式的仓库地址。详情参考Git仓库管理。
对代码文件可以进行在线编辑,markdown文件还支持预览模式,右上角缩略图支持快捷拖动。
# 查看代码质量问题
如果在流水线中配置了Sonarqube代码扫描插件,则该插件运行结束后,会将代码扫描结果推送到代码库对应分支的文件浏览页面,点击即可查看扫描详细报告。
# 历史
通过“历史”菜单,可以查看不同分支中的pushes、commits等信息。
打开pushes,会按照时间倒叙展示提交代码的记录,打开某一条提交记录时可以看到提交代码的具体文件,点击tag会直接打开文件并显示文件内容并记录push的来源如左上角的评审编号代表是评审,若您提交时在commit信息中填写了卡片编号。 还可以通过选择推送人或者开始日期结束日期等信息筛选push记录
commits页面显示commit等一些信息,并可以通过作者、开始时间、结束时间或提交信息筛选提交记录,点击commitID可以查看文件等具体内容
# 对比
点击 代码库——>对比,进入对比页面。可以进行分支或者Tag之间的diff。
- 版本差异:对比的是两个分支之间提交记录。点击commit ID 进入历史详情。
- 直接合并:是快速合入,合入时可以选择合入策略和是否删除源分支。基准分支为保护分支时,不能直接合入。
- 创建分支合并请求:基准分支为保护分支的时,必须发起合并请求。需要经过批准且无人反对的情况下才可合入。
# 分支
点击 代码库——>分支,进入分支页面。分支页面可以实现在线分支管理。
# 版本
点击 代码库——>版本,进入版本页面。 代码版本可以通过三种方式创建,通过本界面创建、通过git客户端推送(可通过代码库设置禁用)、通过流水线发版插件创建。
# 评审
点击 代码库——>评审,进入评审列表。
评审的分类: DCR(Direct code review))和MR(分支合并请求), 两者的区别请参考产品术语
# 评审详情界面
本界面提供了代码评审主功能界面,评审人可以点击界面进行行间评论、在同一界面进行代码总评。
# 在代码库设置中的代码扫描菜单下的内置扫描中进行代码扫描的设置。
- 规则集的设置
- 设置需要扫描的规则的问题级别按照您设置的问题级别以下的规则将被忽略
- 设置不需要扫描的文件路径
- 选择计算资源,由于代码扫描资源消耗比较大,不建议使用公共集群。
- 代码评审是否进行代码扫描,若开启后可以设置扫描结果是否影响代码合入,以及扫描的超时时间和按照严重级别排序显示扫描结果的个数。超过设置的数后在结果中不再显示。
# 代码扫描
若在设置中代码扫描配置中开启代码评审自动进行扫描后,评审被创建后自动使用内置的代码扫描工具进行增量代码的扫描并显示扫描结果,可以根据扫描规则的问题级别、类型、错误信息、文件以及操作状态对扫描结果进行筛选。
# 扫描
若在设置中的代码扫描配置中配置了内置扫描或外接扫描配置后可以在扫描这个二级菜单下对分支、tag、commit进行代码扫描,并选择扫描的工具为外界的还是使用内置的扫描工具。 扫描结果的总览以及具体的问题如下图
# 统计
点击 代码库——>统计,进入统计界面,可以按照不同的时间维度查看代码库统计数据
# 设置
点击 代码库——>设置,进入设置页面。默认在基本设置页面。
更改代码库的设置只有管理员可以更改。
# 基本设置
- 代码库权限分为:企业内公开、保密。
- 保密:只有代码库成员才能访问。
- 企业内公开:企业成员都可以访问。
- 代码库简介:对该代码库的描述。
- 设置默认分支:默认分支默认为master,个人分支不能设置为默认分支。
- Tag:开启禁止直接push Tag后,不能执行命令
git push Tag
。开启禁止删除Tag,版本页面版本不允许删除,终端不能执行git push origin :refs/tags/tagName
。
# 提交规则设置
提交规则设置可以分别对保护分支和普通分支进行设置。 设置内容包括: 保护分支的批量设置、人工评审规范、分支合入策略
# 代码扫描
在代码扫描菜单的设置中可以实现和代码扫描开关,扫描规则设置及是否提交开关。
# 提交规范
对于企业研发场景,往往需要对团队的提交进行规范性约束,此功能就是为此目标服务。 提交规范包括如下设置项:
# 代码库成员设置
代码库成员分为三种角色:管理员、维护者、开发者。公开代码库还有访客角色。每种角色的权限参考产品内嵌的角色说明。 除内置以上几种角色外支持管理员自定义角色。 在成员中可以添加普通用户,亦可添加用户组。
# 发版模板
每次创建一个新的代码库tag(版本标签)时,可以用此模板进行格式规范。支持Markdown格式。
# 镜像仓库
此功能可以实现代码提交时自动向一个第三方代码库地址自动同步能力,可以解决和其他遗留系统对接的问题,或者自动实现多副本。
# 冲突检测
在团队协同多分支开发场景下,代码合并时的冲突是一件令人十分沮丧的事情,本代码托管平台专利技术提供代码提交时自动进行分支冲突检测的功能。不管是向非保护分支直接提交代码,抑或是通过DCR向保护分支提交代码,都会自动自动触发冲突检测预警。
# 部署公钥
允许以只读的形式去访问,也可以通过个人设置去添加个人公钥
# 代码搜索
在主界面右上角可以进行代码搜索,支持库内搜索和全集群搜索。 鉴于企业代码量巨大,代码搜索的范围仅包括代码库的默认分支, 不在代码库默认分支上的代码不会被搜到。
# 多级目录
通过本平台的代码库多级目录的功能,可以非常方便对代码库进行分组/分类管理
本平台支持创建多层级的代码库目录结构,目前saas版本支持最多5级、私有化部署版本支持最多10级目录
代码库列表页,点击【层级目录】,可以查看完整的代码库目录层级结构。
创建目录,支持直接在根节点创建目录,或者在指定目录下创建子目录
目录权限管理,支持设置只有目录成员可以在目录下创建代码库和创建子目录
目录成员管理,目录的角色和代码库的默认角色一致。支持代码库继承对应角色的目录成员。也支持子目录继承父目录的对应角色成员