icode 快速入门教程

简介

icode是基于gerrit的二次开发,底层的服务由gerrit提供,icode旨在解决使用gerrit过程中的痛点,优化整个开发流程,打通整体流程,包括:代码托管、持续集成、自动化运维,前端部分使用react + mobx + antd搭建,服务端使用python作为连接gerrit与前端的桥梁。

登录

icode使用gerrit账号进行登录,目前还没有开通注册功能,所以新同事可以找运维人员开通gerrit账号来使用icode。

WechatIMG48

创建代码库

点击创建代码库的按钮会出现创建代码库的弹窗,在输入框中输入需要的信息就可以直接创建对应的代码库。WechatIMG50

分支管理

点击进入项目之后便可看到项目完整的分支信息,包括:分知名、备注、创建时间、分支状态、领先落后数量等。

WechatIMG51

新建分支

点击新建分支,会出现弹窗,在输入框中填写具体的信息就可以创建新的分支,分支名默认自动生成,且不允许修改格式。

WechatIMG52

克隆代码库&切换分支

申请分支之后,我们可以先把代码库克隆到本地。

WechatIMG53

ps:想要执行这段命令需要先把ssh-key添加到gerrit账号中。

地址:http://gerrit.dev.aixuexi.com/#/settings/ssh-keys

克隆到本地之后,我们需要切换到我们新生请的分支。

使用:git checkout –track origin/[你的分支] 指令来切换到对应的远程分支,并建立本地分支与其关联。

提交代码

icode为每次提交都添加的评审,且校验了change-id,所以我们提交评审的时候需要使用hook生成并携带change-id,建议添加gpush别名来简化提交。

bash -s << '_EOF_'
git config --global alias.gpush '!f() { : push ; r=$1; [[ -z $r ]] && r=origin; b=$2; t=$(awk "{ print \$2 }" $(git rev-parse --git-dir)/HEAD); t=${t#refs/heads/}; [[ -z $b ]] && b=$t; cmd="git push $r HEAD:refs/for/$b%topic=$t"; echo $cmd; echo; $cmd; }; f'
_EOF_

代码评审

提交评审之后,在icode上实时的看到评审列表,点击评审主题就可以跳转到评审页面。

WechatIMG54

在线预览

点击文件菜单可以在线预览代码库结构以及文件内容。

WechatIMG55

提交历史

点击提交历史,可以查看每一次的提交记录,并且可以查看提交内容的diff记录。

WechatIMG56

WechatIMG57

收藏代码

WechatIMG49

持续集成

点击持续集成菜单,会弹出新的页面进入持续集成平台,在持续集成平台中,我们提供了编译、送测、发布、合并回主干的功能。

  • 编译:点击编译按钮可以编译当前分支的代码,产出服务器上需要的压缩包。
  • 送测:点击送测按钮,可以选择对应的QA,系统会自动发送邮件来提醒对应的QA人员本次提测的代码库地址和分支号。
  • 发布:测试通过之后,点击发布会把压缩包发布到产品库中等待上线操作。
  • 合并回主干:当上线结束之后,点击合并回主干,分支代码会自动合并回master分支,并且删除当前分支,分支的生命周期走到尽头。

WechatIMG58 WechatIMG59 WechatIMG60 WechatIMG62 WechatIMG63