Last active
May 9, 2016 01:39
-
-
Save wangwy/c8b49df3c1f2e9f1d42a to your computer and use it in GitHub Desktop.
gerrit安装及配置
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1.下载 | |
wget http://gerrit-releases.storage.googleapis.com/gerrit-2.9-rc2.war | |
2.重命名 | |
mv gerrit-2.9-rc2.war gerrit.war | |
3. | |
sudo adduser gerrit2 # 添加用户 | |
sudo userdel gerrit2 # 删除用户 | |
sudo su gerrit2 | |
sudo passwd root # 设置root密码 | |
sudo adduser xxx | |
chmod 777 /etc/sudoers | |
sudo vim /etc/sudoers | |
# User privilege specification | |
root ALL=(ALL) ALL | |
xxx ALL=(ALL) ALL | |
chmod 440 /etc/sudoers | |
4. | |
java -jar gerrit.war init -d ~/gerrit | |
java -jar gerrit.war init -d /home/gerrit2/gerrit | |
_______________________________________________________________________________________________ | |
遇到的问题如下: | |
用openID认证: | |
Google: | |
400. That’s an error. | |
OpenID auth request contains an unregistered domain: http://dht.goodow.com:8081/code/ | |
无法解决。 | |
提示如下: | |
https://developers.google.com/accounts/docs/OpenID | |
_______________________________________________________________________________________________ | |
Outgoing settings | |
SMTP server: smtp.gmail.com | |
Port: 465 | |
Security type: SSL (always) | |
# cat gerrit/etc/gerrit.config | |
[gerrit] | |
basePath = git | |
canonicalWebUrl = http://vpn.pheth.com | |
[database] | |
type = h2 | |
database = db/ReviewDB | |
[index] | |
type = LUCENE | |
[auth] | |
type = HTTP | |
[sendemail] | |
smtpServer = smtp.gmail.com | |
smtpServerPort = 465 | |
smtpEncryption = SSL | |
smtpUser = [email protected] | |
smtpPass = password | |
from = Code Review<[email protected]> | |
[container] | |
user = gerrit2 | |
javaHome = /home/ubuntu/dev/tools/bin/jdk1.7.0_65/jre | |
[sshd] | |
listenAddress = *:29418 | |
[httpd] | |
listenUrl = http://*:8080/ | |
[cache] | |
directory = cache | |
~~~~~~~~~~~~~~~~~~~~ | |
由于反向代理服务器的配置等问题,造成登陆成功,但是clone的时候,地址如下: | |
git clone http://vpn.pheth.com/retech/drive-android | |
造成无法clone下来。 | |
如果换成:git clone http://vpn.pheth.com:8080/retech/drive-android | |
clone完全没有问题。 | |
canonicalWebUrl = http://vpn.pheth.com 后面加上端口号:8080 | |
可是登陆成功后,http://vpn.pheth.com/#/q/status:open | |
没有端口号,然后偶然的将 | |
proxy_set_header X-Forwarded-For $remote_addr; | |
proxy_set_header Host $host; | |
删除,然后一切完好。 | |
~~~~~~~~~~~~~~~~~~~~ | |
到目前为止,无法去除8080的端口号。原因不详。 | |
此时:输入http://vpn.pheth.com是不好用的,http://vpn.pheth.com/可以跳转。 | |
sudo ln -snf /home/gerrit2/gerrit/bin/gerrit.sh /etc/init.d/gerrit | |
sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit | |
sudo vim /etc/init.d/gerrit | |
添加: | |
GERRIT_SITE=/home/gerrit2/gerrit | |
NO_START=0 | |
重启: | |
service gerrit restart | |
sudo apt-get install nginx | |
sudo vim /etc/nginx/conf.d/default.conf | |
server { | |
listen 80; | |
server_name vpn.pheth.com; | |
location / { | |
auth_basic_user_file /home/gerrit2/gerrit/htpasswd.conf; | |
auth_basic "Gerrit2 Code Review"; | |
proxy_pass http://127.0.0.1:8080; | |
proxy_set_header X-Forwarded-For $remote_addr; | |
proxy_set_header Host $host; | |
} | |
} | |
sudo /etc/init.d/nginx restart | |
sudo apt-get install apache2-utils | |
添加账户: | |
htpasswd -d htpasswd.conf admin | |
无法登出: | |
You are using HTTP Basic authentication. There is no way to tell abrowser to quit sending basic authentication credentials, to logout with basicauthentication is to close the Webbrowser. | |
退出: | |
http://nobody:[email protected]/ | |
gerrit.config | |
手动添加: | |
[gitweb] | |
cgi = /usr/share/gitweb/gitweb.cgi | |
需要添加权限,其他用户才能查看refs/meta/config的read权限 | |
___________________________________________________________________ | |
问题: | |
dan@dan-System-Product-Name:~/桌面/danhanta$ ssh -i id_rsa -p 29418 [email protected] gerrit gsql | |
fatal: admin does not have "Access Database" capability. | |
可以在access里面添加Acesss Database | |
#管理员用命令行穿件新项目。 | |
ssh -p 29418 -i id_rsa [email protected] gerrit create-project --name retech/drive-android | |
#查看新项目已经成功创建。 | |
ssh -p 29418 -i id_rsa [email protected] gerrit ls-projects | |
All-Users | |
#查看帮助信息 | |
ssh -p 29418 -i id_rsa [email protected] gerrit --help | |
#管理数据库 | |
ssh -p 29418 -i id_rsa [email protected] gerrit gsql | |
http://192.168.11.236/tools/hooks/commit-msg | |
—————————————————————————————————————————————————————————————————————————————————————————————————— | |
ssl: | |
http://www.freehao123.com/startssl-ssl/ | |
http://www.freehao123.com/nginx-startssl/ | |
gerrit从2.6开始,默认不再添加verified category,也就是changes上就看不到verified label了。 | |
具体的原因见gerrit的Change 44084。这是为了简化out of the box工作流,如果需要与jenkins等CI环境集成,则需要手动添加verified category,只要在All-Projects的project.config文件里添加5行文本就可以了。 | |
添加V标签 | |
$ mkdir temp && cd temp | |
$ git clone ssh://cr/All-Projects.git | |
Cloning into 'All-Projects'... | |
remote: Counting objects: 22, done | |
remote: Finding sources: 100% (22/22) | |
remote: Total 22 (delta 1), reused 6 (delta 1) | |
Receiving objects: 100% (22/22), 5.33 KiB | 0 bytes/s, done. | |
Resolving deltas: 100% (1/1), done. | |
Checking connectivity... done. | |
Note: checking out 'a30b5de24cdd7993bbe3398e57b1cb771cbb1fc2'. | |
You are in 'detached HEAD' state. You can look around, make experimental | |
changes and commit them, and you can discard any commits you make in this | |
state without impacting any branches by performing another checkout. | |
If you want to create a new branch to retain commits you create, you may | |
do so (now or later) by using -b with the checkout command again. Example: | |
git checkout -b new_branch_name | |
$ cd All-Projects | |
$ vim project.config | |
在文件project.config中添加如下5行: | |
[label "Verified"] | |
function = MaxWithBlock | |
value = -1 Fails | |
value = 0 No score | |
value = +1 Verified | |
然后提交到远程仓库 | |
$ git commit -a -m "add verified category" | |
$ git push origin HEAD:refs/meta/config | |
Counting objects: 15, done. | |
Delta compression using up to 4 threads. | |
Compressing objects: 100% (3/3), done. | |
Writing objects: 100% (3/3), 323 bytes | 0 bytes/s, done. | |
Total 3 (delta 1), reused 0 (delta 0) | |
remote: Resolving deltas: 100% (1/1) | |
remote: Processing changes: refs: 1, done | |
To ssh://cr/All-Projects.git | |
93dc4d8..22b46f7 HEAD -> refs/meta/config | |
因为在分离头(detached HEAD)状态,所以手工指定将当前HEAD push到远程引用refs/meta/config。 | |
登录gerrit站点,changes上面就有V标签了。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
http://fffo.blog.163.com/blog/static/2119130682014028559551/