1. 程式人生 > >Gerrit安裝配置

Gerrit安裝配置

Gerrit安裝

  1. war包安裝
    可以在https://gerrit-releases.storage.googleapis.com/中查詢自己需要的版本的Key,拼在utl後面得到下載地址。
    wget https://gerrit-releases.storage.googleapis.com/gerrit-2.14.2.war

    useradd gerrit 新建一個gerrit使用者
    su gerrit 切換到gerrit使用者
    java -jar gerrit*.war init -d ~/gerrit_site

Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
[2017
-08-17 10:50:16,724] [main] INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /home/gerrit/gerrit_site/etc/gerrit.config; assuming defaults *** Gerrit Code Review 2.14.2 *** Create '/home/gerrit/gerrit_site' [Y/n]? y *** Git Repositories *** Location of Git repositories [git]: *** SQL Database **
* Database server type [h2]: mysql Gerrit Code Review is not shipped with MySQL Connector/J 5.1.41 ** This library is required for your configuration. ** Download and install it now [Y/n]? y Downloading https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41
.jar ... OK Checksum mysql-connector-java-5.1.41.jar OK Server hostname [localhost]: Server port [(mysql default)]: Database name [reviewdb]: gerritdb Database username [gerrit]: gerrit gerrit's password : confirm password : *** Index *** Type [LUCENE/?]: *** User Authentication *** Authentication method [OPENID/?]: HTTP Get username from custom HTTP header [y/N]? SSO logout URL : Enable signed push support [y/N]? *** Review Labels *** Install Verified label [y/N]? Y *** Email Delivery *** SMTP server hostname [localhost]: smtp.163.com SMTP server port [(default)]: SMTP encryption [NONE/?]: SMTP username [gerrit]: [email protected] [email protected]'s password : confirm password : *** Container Process *** Run as [gerrit]: Java runtime [/usr/java/jdk1.8.0_144/jre]: Copy gerrit-2.14.2.war to /home/gerrit/gerrit_site/bin/gerrit.war [Y/n]? Copying gerrit-2.14.2.war to /home/gerrit/gerrit_site/bin/gerrit.war *** SSH Daemon *** Listen on address [*]: Listen on port [29418]: Generating SSH host key ... rsa... dsa... ed25519...unknown key type ed25519 ecdsa 256... ecdsa 384... ecdsa 521... done *** HTTP Daemon *** Behind reverse proxy [y/N]? Y Proxy uses SSL (https://) [y/N]? Subdirectory on proxy server [/]: Listen on address [*]: Listen on port [8081]: 8088 Canonical URL [http://admin.banklun.com/]: *** Cache *** *** Plugins *** Installing plugins. Install plugin commit-message-length-validator version v2.14.2 [y/N]? y Installed commit-message-length-validator v2.14.2 Install plugin download-commands version v2.14.2 [y/N]? y Installed download-commands v2.14.2 Install plugin hooks version v2.14.2 [y/N]? y Installed hooks v2.14.2 Install plugin replication version v2.14.2 [y/N]? y Installed replication v2.14.2 Install plugin reviewnotes version v2.14.2 [y/N]? y Installed reviewnotes v2.14.2 Install plugin singleusergroup version v2.14.2 [y/N]? y Installed singleusergroup v2.14.2 Initializing plugins. fatal: DbInjector failed fatal: Unable to determine SqlDialect fatal: caused by java.sql.SQLException: Access denied for user 'gerrit'@'localhost' (using password: YES) [[email protected] ~]$ mysql -u gerrit -p Enter password: ERROR 1045 (28000): Access denied for user 'gerrit'@'localhost' (using password: YES)

注意:要搭建CI系統,這裡需要選擇安裝 Label Verified

vim /etc/profile 配置環境變數

export GERRIT_HOME=/home/gerrit/gerrit_site
export PATH=$NGINX_HOME/sbin:$GERRIT_HOME/bin:$PATH

Gerrit-webview安裝

檢視程式碼需要用到的
yum -y install gitweb
vim /etc/gitweb.conf

  1 # The gitweb config file is a fragment of perl code. You can set variables
  2 # using "our $variable = value"; text from "#" character until the end of a
  3 # line is ignored. See perlsyn(1) man page for details.
  4 #
  5 # See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for
  6 # more details and available configuration variables.
  7 
  8 # Set the path to git projects.  This is an absolute filesystem path which will
  9 # be prepended to the project path.
 10 #our $projectroot = "/var/lib/git";
 11 $projectroot = "/home/gerrit/gerrit_site/git";

$projectroot設定為Location of Git repositories的路徑,安裝Gerrit時指定的。

配置

mysql新增gerrit使用者及資料庫

  • 檢視使用者表
    select user,password,host from mysql.user;
  • 插入新的使用者
    insert into mysql.user(Host,User,Password) values("localhost","gerrit",password("gerrit"));
  • 建立gerrit所要使用的資料庫
    create databasegerritdbdefault character set utf8 collate utf8_general_ci;
    flush privileges; //建立完成後一定要重新整理一下,不然不生效
  • 設定gerrit使用者對gerritdb的操作許可權
    grant all privileges on gerritdb.* to [email protected]’localhost’ identified by ‘vhost’ with grant option;
    SHOW GRANTS FOR [email protected]’localhost’; //驗證結果
+---------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'gerrit'@'localhost' IDENTIFIED BY PASSWORD '*AD8354BBE56D9AF515F3FC9A5CCB80E3483BA3E6' |
| GRANT ALL PRIVILEGES ON `gerritdb`.* TO 'gerrit'@'localhost' WITH GRANT OPTION                                |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

配置完成後一定要先用gerrit登入驗證一下是否可以登入成功,這一步很關鍵
mysql -u gerrit -p
可能會出現登入不成功的情況,可以用root使用者登入後重置一下gerrit使用者的密碼再試
SET PASSWORD FOR 'gerrit'@'localhost' = PASSWORD('gerrit');

gerrit.config檔案配置

vim /etc/gerrit/gerrit.config

  1 [gerrit]
  2         basePath = git
  3         serverId = ab8a6c3f-90b0-47b5-ac81-eed3d584c7b9
  4         canonicalWebUrl = http://xxx:8088/
  5 [database]
  6         type = mysql
  7         hostname = localhost
  8         database = gerritdb
  9         username = gerrit
 10 [index]
 11         type = LUCENE
 12 [auth]
 13         type = HTTP
 14 [receive]
 15         enableSignedPush = false
 16 [sendemail]
 17         smtpServer = smtp.163.com
 18         smtpUser = [email protected]163.com
 19         from = [email protected]163.com
 20         smtpPass = ******
 21 #       smtpServer = localhost
 22 [container]
 23         user = gerrit
 24         javaHome = /usr/java/jdk1.8.0_144/jre
 25 [sshd]
 26         listenAddress = *:29418
 27 [httpd]
 28         listenUrl = proxy-http://*:8088/
 29 [cache]
 30         directory = cache
 31 [gitweb]
 32         type = gitweb
 33         cgi = /var/www/git/gitweb.cgi

主要是增加了[gitweb],其他的在安裝時已經預設配置好了,不過也可以修改,修改最多的就是httpd中的監聽埠號,可以根據實際需求來變更。

Nginx反向代理配置

vim /usr/local/nginx/conf/vhost/gerrit.conf

server {
     #網址訪問時的埠號
     listen *:8089;
     server_name gerrit.microwu.com;
     allow   all;
     deny    all;

     auth_basic "Welcomme to Gerrit Code Review Site!";
     #反向代理認證登入驗證檔案的路徑,裡面儲存了使用者名稱、密碼
     auth_basic_user_file /home/gerrit/gerrit_site/htpasswd.conf; 

     location / { 
        #8088為gerrit的監聽埠
        proxy_pass  http://127.0.0.1:8088;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
     }   
}

htpasswd指令配置登入使用者名稱、密碼

安裝工具
yum install -y httpd-tools

cd /home/gerrit/gerrit_site/
建立使用者、密碼
htpasswd -c htpasswd.conf admin
新增/修改使用者、密碼
htpasswd -m htpasswd.conf admin

修改檔案許可權,不然使用者登入會報500 Internal Server Error
chmod 755 /home/gerrit/
chmod 755 /home/gerrit/gerrit_site/htpasswd.conf

配置gitweb的反向代理

使用的是apache代理
vim /etc/httpd/conf.d/gitweb.conf

#
# gitweb
#
Alias /gitweb "/var/www/git"
<Directory "/var/www/git">
    Options +ExecCGI
    AddHandler cgi-script .cgi
    DirectoryIndex index.cgi gitweb.cgi
    Order allow,deny
    Allow from all
</Directory>
  • 開機自動啟動apache代理
    systemctl enable httpd

設定開機自動啟動

sudo ln -s etc/gerrit.config /etc/init.d/gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc2.d/S90gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit

啟動、停止、重啟

配置好環境變數,可以直接通過下面的指令來啟動、停止、重啟gerrit
gerrit.sh start
gerrit.sh stop
gerrit.sh restart

常見問題

  • ./bin/gerrit.sh: line 175: cd: /var/gerrit: No such file or directory
    ERROR: Gerrit site /var/gerrit not found
    vim /etc/default/gerritcodereview
    GERRIT_SITE=/home/gerrit/gerrit_site
    GERRIT_SITE指定為安裝時指定的路徑

  • 500 Internal Server Error
    可以通過nginx代理的錯誤日誌檢視原因
    vim /usr/local/nginx/logs/error.log

  • 檢視錯誤日誌
    vim /home/gerrit/gerrit_site/logs/error_log

相關推薦

Gerrit安裝配置

Gerrit安裝 war包安裝 可以在https://gerrit-releases.storage.googleapis.com/中查詢自己需要的版本的Key,拼在utl後面得到下載地址。 wget https://gerrit-releases.s

Gerrit安裝配置手冊

1     簡介 Gerrit,一種免費、開放原始碼的程式碼審查軟體,使用網頁介面。利用網頁瀏覽器,同一個團隊的軟體程式設計師,可以相互審閱彼此修改後的程式程式碼,決定是否能夠提交,退回或者繼續修改。它使用Git作為底層版本控制系統。它分支自Rietveld,作者為G

gerrit安裝配置及過程中遇到的問題

(文章來源: http://blog.csdn.net/ljchlx/article/details/22277311) 小注解: 本文所使用的關於apache的配置設定是基於apache2.2的,因此部分設定與apache 2.3/2.4稍有不同. 例如:       

Gerrit+apache+H2資料庫簡單安裝配置及建庫流程

Gerrit上程式碼提交的三種狀態 程式碼提交至Gerrit之後,有三種狀態,分別是:Open、Merged、Abandoned。 Open 狀態的程式碼需要經過Review,Verify,Submit操作後才會真正入庫,即成為Merged狀態 Merged 狀態的程式碼已經入庫,不能再Abandoned,

Git+gerrit+jenkins安裝配置

jdk安裝第一步:執行 rpm -qa|grep jdk 命令檢視當前的jdk情況。 第二步:執行 yum -y remove java java-1.7.0-openjdk* 解除安裝openjdk [[email protected] jdk]# vim

Linux - vim安裝 配置與使用

格式 only ctx net height border term mona 方便 一 Vim 簡單介紹 曾經一直用vi,近期開始使用 vim,以下將兩者做一下比較。 vi和vim都是多模式編輯器,不同的是vim 是vi的升級版本號,它不僅兼容vi的全部指令,並且

Tomcat8.5的安裝配置

tomcat安裝配置1. 安裝JDKJDK官網地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html點擊"JDK DOWNLOAD"進入下載頁面下載JDK軟件包,註意需選中"Accept License Agreement"才

tomcat免安裝配置

base ice install file log 安裝配置 image images nbsp 1、首先設置環境變量CATALINA_BASE、CATALINA_HOME: 2、設置好環境變量後,打開bin目錄下的startup.jar,[email pro

CentOS6上新增硬盤並安裝配置grub文件

centos6上新增硬盤並安裝配置grub文件實例:為運行於虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;(1) 為硬盤新建兩個主分區;並為其安裝grub; (2) 為硬盤的第一個主分區提供內核和ramdisk文件; 為第二個分區提供rootfs; (3) 為rootfs提供bash、ls、cat

天兔(Lepus)監控操作系統(OS)安裝配置

pid install style 主機 share net-snmp weight ecn 安裝 http://suifu.blog.51cto.com/9167728/1770703 監控和被監控端都要安裝和配置snmp: [[email protecte

天兔(Lepus)監控系統慢查詢分析平臺安裝配置

fig align fxaa comm one 平臺 back ria pri 轉http://suifu.blog.51cto.com/9167728/1770672 被監控端要安裝pt工具 1 2 3 4 [[email protec

Redis3.2.8集群安裝配置

redis3.2.8集群安裝配置具體就不做介紹了,直接開始安裝準備環境:使用2臺centos服務器,每臺機器上部署3個實例,集群為三個主節點與三個從節點: 第一臺 192.168.1.107:7000 192.168.1.107:7001 192.168.1.107:7002 第二臺 192.168.

學習記錄: 安裝配置自動化工具ansible

ansible學習記錄: 安裝配置ansible更新日期: 2016-11-30系統環境 :centos6.5本機ip :192.168.233.123被管理機ip :192.168.233.124—————————————————————————————————————py版本

負載均衡-haproxy安裝配置

用戶 dont source .net 錯誤頁 plog oar ack blank HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速並且可靠的一種解決方案。HAProxy特別適用於那些負載特大的web站點,這些站點通常又

saltstack之多節點nginx安裝配置

saltstack 多節點 highstate nginx 多節點nginx安裝配置定義多節點cd /srv/salt vim top.slsbase: ‘server4.lalala.com‘: - nginx.install ‘server1.lalala.com‘: -

centos EMQTTD 集群安裝配置與測試驗證

centos emqttd 集群安裝配置與測試驗證安裝包下載地址:http://emqtt.com/downloads在這裏我們下載 emqttd-centos6.8-v2.1.2.zip配置兩臺主機hosts192.168.0.10 s1.emqtt.io 192.168.0.20 s2.emqtt.i

Chapter one:安裝配置LNMP

lnmp源碼安裝配置LNMP更新時間:2016-08-02系統環境:CentOS 6.5軟件環境:nginx 1.8.1、mysql 5.6.22、php 5.6.19本機IP :192.168.1.88、192.168.1.36關閉防火墻和安全機制#service iptables stop#setenf

【Linux數據庫】Redis安裝配置

con debug top size 日誌 stream oca mono onf 一,Redis配置 1、下載安裝 $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf re

Git 安裝配置,key導入

路徑 文件 mail 回車 name 安裝git 用戶名 glob -- 系統 Centos 6.5 安裝git 命令 yum install git 配置git用戶名 git config --global user.name "yangchengguo" 配置

centos6安裝配置zabbix3被控端

下一步 etc figure .net blog hosts rac get mysql Centos 6.5 Zabbix 3.0.4 zabbix分為zabbix-server(主控端)和zabbix-agent(被控端),本文則介紹安裝agent和server端添加監