Gerrit簡介
Gerrit,一種免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,能夠相互審閱彼此修改後的程序代碼,決定是否可以提交,退回或者繼續修改。java
1、建立gerrit用戶
[root@devops02 ~]# adduser gerrit -m You have mail in /var/spool/mail/root [root@devops02 ~]# passwd gerrit Changing password for user gerrit. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@devops02 ~]#
2、安裝gerrit
[root@devops02 ~]# su - gerrit Last login: Wed Feb 20 15:05:42 CST 2019 on pts/0 [gerrit@devops02 ~]$ pwd /home/gerrit [gerrit@devops02 ~]$ ll total 72520 -rw-r--r--. 1 root root 74258227 Feb 20 15:09 gerrit-2.16.5.war [gerrit@devops02 ~]$ java -jar gerrit-2.16.5.war init -d ~/gerrit_site
3、安裝步驟
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore [2019-02-20 15:16:04,189] [main] INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /home/gerrit/gerrit_site/etc/gerrit.config; assuming defaults *** Gerrit Code Review 2.16.5 *** *** Git Repositories *** Location of Git repositories [git]: *** SQL Database *** Database server type [h2]: *** 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]? *** Email Delivery *** SMTP server hostname [localhost]: SMTP server port [(default)]: SMTP encryption [none/?]: SMTP username : *** Container Process *** Run as [gerrit]: Java runtime [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre]: Copy gerrit-2.16.5.war to /home/gerrit/gerrit_site/bin/gerrit.war [Y/n]? Copying gerrit-2.16.5.war to /home/gerrit/gerrit_site/bin/gerrit.war *** SSH Daemon *** Listen on address [*]: Listen on port [29418]: Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done *** HTTP Daemon *** Behind reverse proxy [y/N]? Use SSL (https://) [y/N]? Listen on address [*]: Listen on port [8080]: 8081 Canonical URL [http://devops02:8081/]: *** Cache *** *** Plugins *** Installing plugins. Install plugin codemirror-editor version v2.16.5 [y/N]? Install plugin commit-message-length-validator version v2.16.5 [y/N]? Install plugin download-commands version v2.16.5 [y/N]? Install plugin hooks version v2.16.5 [y/N]? Install plugin replication version v2.16.5 [y/N]? Install plugin reviewnotes version v2.16.5 [y/N]? Install plugin singleusergroup version v2.16.5 [y/N]? Initializing plugins. No plugins found with init steps. Initialized /home/gerrit/gerrit_site Init complete, reindexing projects with: reindex --site-path /home/gerrit/gerrit_site --threads 1 --iReindexing projects: 100% (2/2) Reindexed 2 documents in projects index in 0.1s (38.5/s)
4、nginx安裝配置
5、建立登錄認證文件
[gerrit@devops02 ~]$ htpasswd -c /home/gerrit/gerrit.password admin New password: Re-type new password: Adding password for user admin [gerrit@devops02 ~]$
htpasswd是apache的一個模塊,須要先安裝apache服務,經過如下任意一個安裝nginx
root@devops02 ~]# yum install httpd-tools //單獨安裝部分工具
[root@devops02 ~]# yum install httpd //安裝完整的apache
6、設置權限
[gerrit@devops02 ~]$ cd /home/ [gerrit@devops02 home]$ chmod 755 gerrit/
7、配置gerrit.config
[gerrit@devops02 home]$ cd /home/gerrit/gerrit_site/etc/ [gerrit@devops02 etc]$ ll total 52 -rw-rw-r--. 1 gerrit gerrit 716 Feb 20 15:22 gerrit.config drwxrwxr-x. 2 gerrit gerrit 4096 Feb 20 15:22 mail -rw-------. 1 gerrit gerrit 71 Feb 20 15:17 secure.config -rw-------. 1 gerrit gerrit 288 Feb 20 15:18 ssh_host_ecdsa_384_key -rw-r--r--. 1 gerrit gerrit 233 Feb 20 15:18 ssh_host_ecdsa_384_key.pub -rw-------. 1 gerrit gerrit 365 Feb 20 15:18 ssh_host_ecdsa_521_key -rw-r--r--. 1 gerrit gerrit 281 Feb 20 15:18 ssh_host_ecdsa_521_key.pub -rw-------. 1 gerrit gerrit 227 Feb 20 15:18 ssh_host_ecdsa_key -rw-r--r--. 1 gerrit gerrit 189 Feb 20 15:18 ssh_host_ecdsa_key.pub -rw-------. 1 gerrit gerrit 419 Feb 20 15:18 ssh_host_ed25519_key -rw-r--r--. 1 gerrit gerrit 109 Feb 20 15:18 ssh_host_ed25519_key.pub -rw-------. 1 gerrit gerrit 1675 Feb 20 15:18 ssh_host_rsa_key -rw-r--r--. 1 gerrit gerrit 409 Feb 20 15:18 ssh_host_rsa_key.pub [gerrit@devops02 etc]$ vi gerrit.config
[gerrit] basePath = git serverId = 280a982e-5d60-49c4-95f6-0b944f4b1c5e canonicalWebUrl = http://192.168.51.36:81/ [database] type = h2 database = /home/gerrit/gerrit_site/db/ReviewDB [container] javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" user = gerrit javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre [index] type = LUCENE [auth] type = HTTP [oauth] allowEditFullName = true allowRegisterNewEmail = true [receive] enableSignedPush = false [sendemail] enable = false [sshd] listenAddress = *:29418 [httpd] listenUrl = http://*:8081/ [cache] directory = cache
8、重啓gerrit
[gerrit@devops02 etc]$ /home/gerrit/gerrit_site/bin/gerrit.sh restart Stopping Gerrit Code Review: OK Starting Gerrit Code Review: OK
9、啓動nginx
[root@devops02 ~]# /usr/local/nginx/sbin/nginx
10、訪問
http://192.168.81.163:81 //根據實際狀況修改IP和端口