[Gerrit服务器]gerrit服务器管理员使用手册

[Gerrit服务器]gerrit服务器管理员使用手册

此文档为我工作中搭建安卓代码服务器时做的笔记。

文章目录

    • 一、登录:
    • 二、页面添加用户公钥:
    • 三、gerrit分组:
    • 四、添加普通成员:
    • 五、创建仓库:
    • 六、设置仓库权限和用户:
    • 七、更新清单库:
    • 八、设置监听项目
    • 九、管理员审查
    • 十、代码忽略文件

一、登录:

IP:172.16.1.227:9090

Gerrit 管理员 用户名:hopechart 密码 :system

默认ssh管理员为:172.16.1.227 下的gerrit用户
管理员远程SSH时候可以创建用户,可以创建仓库。

若要使自己系统用户成为管理员操作如下

  1. 首先确保在之前,已经成功把你的公钥添加到了web页面账户中。
  2. 接下来,需要修改之前~/.ssh/文件夹下面的config文件,内容如下:
    [Gerrit服务器]gerrit服务器管理员使用手册_第1张图片
  3. 验证:
    ssh gerrit -l hopechart
    [Gerrit服务器]gerrit服务器管理员使用手册_第2张图片
    若显示如上则成功。

二、页面添加用户公钥:

这里添加的都可以成为管理员,
[Gerrit服务器]gerrit服务器管理员使用手册_第3张图片

三、gerrit分组:

[Gerrit服务器]gerrit服务器管理员使用手册_第4张图片

[Gerrit服务器]gerrit服务器管理员使用手册_第5张图片
图片里面是gerrit默认的几个分组,我们需要知道的是Administrator就是管理员分组,Anonymous Users指的是所有添加到gerrit数据库中的成员都默认加入的一个组。

四、添加普通成员:

页面添加路径如下:
[Gerrit服务器]gerrit服务器管理员使用手册_第6张图片
在管理员添加新的组员之前,我们需要先在普通成员的机器上生成ssh的公私钥,这里方便描述,我们把这个普通成员命名为useradd
接下来,useradd成员需要把id_rsa.pub公钥发送给管理员,这样管理员才能正常把useradd添加到gerrit用户组中。
我们假设管理员将useraddpub公钥放到了gerrit管理员~/home目录下。

cat ~/home/id_rsa.pub | ssh gerrit gerrit create-account --full-name useradd --email [email protected] --ssh-key - useradd

解析如下:
[Gerrit服务器]gerrit服务器管理员使用手册_第7张图片
添加成功后输入关键词,即可找到。
[Gerrit服务器]gerrit服务器管理员使用手册_第8张图片

五、创建仓库:

注意:
gerrit有两个默认的项目All-Projects和 All-Users。这两个工程是两个基础的工程,我们新建的工程默认都是继承自All-Projects的权限。不可对其更改或删除。

1:gerrit网页端创建
[Gerrit服务器]gerrit服务器管理员使用手册_第9张图片

[Gerrit服务器]gerrit服务器管理员使用手册_第10张图片
2:终端通过指令创建

 ssh -p 9093 [email protected] gerrit create-project --empty-commit 仓库名字

六、设置仓库权限和用户:

[Gerrit服务器]gerrit服务器管理员使用手册_第11张图片
[Gerrit服务器]gerrit服务器管理员使用手册_第12张图片

添加允许:
权限说明如下:
gerrit中权限控制是基于群组的. 每个用户有一个或者多个群组, 访问权限被赋予这些群组.访问权限不能赋予个人用户。

System Groups
Gerrit系统自带下面的群组

  • Anonymous Users
  • Change Owner
  • Project Owners
  • Registered Users

七、更新清单库:

git clone ssh://[email protected]:9093/manifest

进入清单库:

git config remote.origin.push refs/heads/*:refs/for/*

scp -p -P 9093 [email protected]:hooks/commit-msg .git/hooks/

进入清单库修改default.xml文件,仿照图中格式继续添加。
project
name:项目的名称
pathclone到本地的git的工作目录
[Gerrit服务器]gerrit服务器管理员使用手册_第13张图片

八、设置监听项目

默认监听全部项目:
[Gerrit服务器]gerrit服务器管理员使用手册_第14张图片

九、管理员审查

接下来我们回到管理员的web页面,会发现,test3用户刚提交的那条已经在页面中了
点击顶部的My --> Watched Changes
[Gerrit服务器]gerrit服务器管理员使用手册_第15张图片
因为之前我们已经监听了All-Projects,而test2工程又是默认继承自All-Projects的,所以我们就可以收到了,如果当前管理员没有监听All-Projects,就需要手动把test2项目加进来,否则是不会在watched页面看到这条推送提醒的。
可以在页面中看到我们生成的Change-Id,以及我们新添加的文件test.md,点击以后可以看到每个文件的详情。
注意屏幕中间的两个按钮:

  • Reply 表示对这次事件的回应,里面可以有5个选项,表示当前审查人员对这个事件的打分:-2,-1,0,+1,+2,
    +2表示直接同意,1表示我同意了,需要别的人员来一起审核
  • Code-Review+2 相当于直接打+2分
    [Gerrit服务器]gerrit服务器管理员使用手册_第16张图片
    reply之后,如果分数够了2分,就可以直接submit到主线上去了
    [Gerrit服务器]gerrit服务器管理员使用手册_第17张图片

[Gerrit服务器]gerrit服务器管理员使用手册_第18张图片

十、代码忽略文件

.gitignore介绍
在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。
1)/mtk/ 过滤整个文件夹
2).zip 过滤所有.zip文件
3)/mtk/do.c 过滤某个具体文件
2)1)配置语法:
以斜杠“/”开头表示目录;
以星号“
”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

你可能感兴趣的:(------运维------,子类___Gerrit服务器)