Gerrit管理帐号

长平狐 发布于 2012/08/28 16:36
阅读 4K+
收藏 1

前面的文章描述了如何搭建一个Gerrit server和基本的使用。

本文描述Gerrit的管理。


文档

Gerrit服务器启动后,网站上有一个Documentation链接。点击后会看到四个选项:

index,searching,uploading和access control

文档内容很多,不必专门去Gerrit官方查找。


创建CI服务器使用的帐号

CI服务器比如Jenkins肯定需要访问Gerrit来获取最新的源代码进行编译。

1.你必须在管理员所在的客户端执行命令。也就是说,你执行命令的本地机器已经作为管理员加入到Gerrit系统中。

2.将CI服务器上的公钥文件拷贝到本地机器上,假定放在了~/目录下

3.执行命令,创建帐号

cat ~/id_rsa.pub | ssh -p 29418 your_server gerrit create-account --group your_group --full-name usa1 --email your_email --ssh-key - usa1
提示:

gourp name如果包含空格,应该用引号包起来,并且用\引导。比如:

create-account --group 'Build\ Users'

- -ssh-key 参数后用 - 表示从标准输入获取公钥内容,这里最开头用了cat ~/id_rsa.pub | 方式刚好提供了所需。

email和用户名不允许和已有用户重复,但是公钥允许重复。

4.到CI所在服务器上,用命令clone项目。

git clone ssh://usa1@your_server:29418/your_project.git


查询和删除帐号


需要到数据库中查找和删除。没有其他途径。

如果使用的是H2数据库,确保Gerrit服务启动的情况下,使用下面的命令就可以登录远程数据库。(之前我弄错了端口号,其实真的很简单)

ssh -p 29418 my_server gerrit gsql

如果当前登录的Linux用户名和Gerrit上注册的用户名不一样,需要在参数中指明正确用户名。比如:

ssh -p 29418 shuchen@my_server gerrit gsql



或者直接登录gerrit服务器,关闭gerrit服务后,用下面的命令启动:

java -jar gerrit-2.3.war gsql -d ./review_site/



修改用户名

update ACCOUNT_EXTERNAL_IDS set external_id='username:chenshu' where external_id='username:shuchen';


上面的sql语句将用户名从shuchen换成了chenshu




服务器域名修改

因为服务器后来换了,服务器名也就变了。需要修改/home/gerrit2/review_site/etc/gerrit.config文件

[gerrit]
        basePath = git
        canonicalWebUrl = http://severname:8080

把上面的servername替换成新的


这时候用google帐号登录的话,会在accounts表中新创建一个用户,可以通过修改accounts_group_members表的方式将新的帐号加入到1组中(管理员).


新用户注册

1.新用户需要首先登录一个openid提供商的网站,比如yahoo.cn. 这个比google的好点,因为不会被墙。

2.然后在gerrit的网站上用该yahoo帐号注册一个帐号

3.注册成功后,填写一些基本信息,比如用户名,email地址等。

会收到一封确认email,然后点击email中的链接,gerrit将会接受该email地址作为合法地址。

4.生成自己的公钥私钥对,并将公钥内容粘帖在网站上

5.通过管理员,管理员将该用户加入某个组中


现在你可以用git clone命令来获取源代码了。







原文链接:http://blog.csdn.net/sheismylife/article/details/7604560
加载中
返回顶部
顶部