1. 程式人生 > >gerrit 安裝

gerrit 安裝

vim key 強烈 ive passwd 並保存 pre review gcc

Gerrit安裝指南

Gerrit安裝教程參考:

https://www.baidu.com/link?url=mZcEH1Bofo7FvImX1xxcas46KOLE0oUl5K_YzfeIVMWZYR8a_BwB7bMr9jeFnGoPfbLH9QZTOe9MwenVeQ7rkq&wd=&eqid=9f81e6f30011dcef00000005589682e5

1、 安裝git

yum install git

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install git-core

git2.10.2獨立安裝:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

解壓安裝的git文件 2.10.2

make prefix=/usr/local/git all

sudo make prefix=/usr/local/git install

//設置環境變量

export PATH=/usr/local/git/bin:$PATH

2、 安裝java

下載java1.7,並設置環境變量

Vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.7.0_75

export PATH=$JAVA_HOME/bin:$PATH

3、 下載gerrrit最新版本

https://gerrit-releases.storage.googleapis.com/gerrit-2.11.war

各版本下載地址:http://gerrit-releases.storage.googleapis.com/index.html

4、 安裝gerrit

服務器:-------

1) 新建專用用戶

Adduser gerrit2

su – gerrit2

2) 安裝gerrit,默認使用development_become_any_account認證模式(這種由用戶自動登錄,用來熟悉gerrit,簡便安裝)

java -jar ~/gerrit-full-2.5.2.war init -d ~/gerrit_site 全部默認

提示安裝jdk,手動下載並保存到相應目錄

3) 修改/home/gerrit2/gerrit_site/etc/gerrit.config

# /home/gerrit2/gerrit_site/bin/gerrit.sh start //啟動

# /home/gerrit2/gerrit_site/bin/gerrit.sh stop // 停止

/home/gerrit2/gerrit_site/bin/gerrit.sh restart //重啟

4) 關閉防火墻 service iptables status 查看,service iptables stop關閉

5) http://xxxxxxx:8080/#/q/status:open 訪問在頁面頂端有一個become鏈接進行註冊登錄

其中ssh密碼,生成秘鑰:ssh-keygen -t rsa -C "管理員" -f ~/.ssh/admin

有了Gerrit賬號,也為該賬號正確配置了公鑰,就可以訪問Gerrit提供的SSH登錄服務。需要註意的是ssh登陸的用戶名必須是gerrit註冊的賬號,即如圖2?3所示Settings > Profile > Username中顯示的Username。

$ssh -p 29418 -i ~/.ssh/admin 10.37.77.181 -l admin

每次ssh連接要輸入那麽長命令,很煩人,可以配置~/.ssh/config文件來為ssh連接設置別名,如下所示:

Host ha

HostName ip

User admin

Port 29418

IdentityFile ~/.ssh/admin

修改權限:chmod 600 config

查看:ssh ha

進入數據庫ssh ha gerrit gsql

[[email protected] .ssh]$ ssh ha gerrit gsql

fatal: admin does not have "Access Database" capability.

異常:admin does not have "Access Database" capability

解決:使用Administrator登陸,在project->ALL-Project Projects/Access中添加Administrators組添加Access Database,然後點擊頁面最下的“Save Changes”按鈕即可

如果提示:需要刪除./ssh/known_hosts文件即可

$ ssh ha

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

6) 管理員操作說明

$ ssh ha gerrit --help

gerrit COMMAND [ARG ...] [--] [--help (-h)]

-- : end of options

--help (-h) : display this help text

Available commands of gerrit are:

approve

ban-commit

create-account

create-group

create-project

flush-caches

gsql

ls-groups

ls-projects

plugin

query

receive-pack

rename-group

review

set-account

set-project

set-project-parent

set-reviewers

show-caches

show-connections

show-queue

stream-events

test-submit-rule

version

See ‘gerrit COMMAND --help‘ for more information.

7) 設置/修改gerrit用戶郵箱

我這裏介紹三種方法來設置/修改gerrit用戶的郵箱地址。

◆gerrit自動發送確認郵件(默認方法);

◆通過gerrit set-account修改(強烈推薦);

◆通過SQL語法修改數據庫(建議不要用);

ssh ha gerrit set-account --add-email [email protected] admin

ssh ha gerrit set-account --add-email [email protected] chiwei

可以設置多個郵箱,但同一時間只有一個郵箱

可以創建其他賬號:ssh-keygen -t rsa -C "張三" -f ~/.ssh/user1

$ cat ~/.ssh/user1.pub | ssh ha gerrit create-account --email [email protected] --full-name張三 --ssh-key -<it create-account --email [email protected] --full-name張三 --ssh-key - user1

8) 更換使用http+ldap+gerrit模式

i. 安裝apache ,更新yum:

Yum clean all

ii. 安裝gerrit:java -jar ~/gerrit-2.11.war init -d ~/gerrit_site_http

同上修改gerrit.config文件:type為http

[[email protected] etc]$ cat gerrit.config

[gerrit]

basePath = git

canonicalWebUrl = http://xxxx:80/

[database]

type = h2

database = db/ReviewDB

[index]

type = LUCENE

[auth]

type = HTTP

[sendemail]

#smtpServer = localhost

smtpServer = ----

smtpServerPort = 25

smtpEncryption = SSL

smtpUser = ----

smtpPass = ---

from = ----

[container]

user = gerrit2

javaHome = /usr/local/java/jdk1.7.0_75/jre

[sshd]

listenAddress = *:29418

[httpd]

listenUrl = http://*:8081/

[cache]

directory = cache

[plugins]

allowRemoteAdmin = true

iii. 修改httpd.conf文件

<VirtualHost *:80>

ServerName ip

ProxyRequests Off

ProxyVia Off

ProxyPreserveHost On

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

<Location /login/>

AuthType Basic

AuthName "Gerrit Code Review"

Require valid-user

AuthBasicProvider file

AuthUserFile /gerrit.password

AuthBasicProvider ldap file

AuthLDAPBindDN "CN=xxx,DC=xxxx,DC=com"

AuthLDAPBindPassword xxxx

AuthLDAPURL "ldap://xxxxxxxx:389/ou=persons,dc=suning,dc=com"

# authorization

#Require ldap-group cn=svngroup,ou=appgroups,dc=netease,dc=com

#AuthLDAPGroupAttribute memberUid

#AuthLDAPGroupAttributeIsDN off

</Location>

AllowEncodedSlashes On

ProxyPass / http://xxxxx:8081/ nocanon

</VirtualHost>

AllowEncodedSlashes On

ProxyPass / http://xxxx:8081/ nocanon

註意:上述配置,否則可能gerrit會出現只有根目錄可打開,其他文件打開報權限錯誤,問題是根目錄無法進行轉碼

http 使用文件生成用戶名密碼

touch /gerrit.password

htpasswd -c /gerrit.password admin

gerrit 安裝