gerrit 安裝
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 安裝