日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Ubuntu環(huán)境上使用Nginx搭建Gerrit

 xiaofenglib 2020-09-05

Gerrit,一種開放源代碼的代碼審查軟件,使用網(wǎng)頁界面。利用網(wǎng)頁瀏覽器,同一個團隊的軟件開發(fā)者,可以相互審閱彼此修改后的代碼,決定是否能夠提交,回退或是繼續(xù)修改。它使用版本控制系統(tǒng)Git作為底層,已經(jīng)被廣泛的應(yīng)用到了各大公司的代碼 review中。對于不太習慣使用git diff/difftool來查看兩個相鄰提交差異的同學來講,gerrit也是一個不錯的選擇,當然,這樣顯然是大材小用了。不管如何,gerrit已經(jīng)像git一樣成為程序員必備的技能了。對于想學習而又沒有g(shù)errit環(huán)境的同學,可以參考本文在ubuntu電腦上快速搭建一個。

本文將基于以下環(huán)境使用nginx實現(xiàn)反向代理來搭建一個gerrit服務(wù)器:

  • ubuntu版本: 16.04
  • kernel版本: Linux version 4.4.0-137-generic
  • 服務(wù)器IP地址:104.238.167.38

注意:軟件版本的不同有可能會導(dǎo)致即使相同的配置,最終不能正常工作。如果對相關(guān)軟件不太熟悉的,請務(wù)必選用與本文一致的軟件版本。

一、下載安裝必要的軟件

1.1 安裝java環(huán)境

gerrit是一個java軟件,因此需要安裝JDK,這里我們使用openjdk-8。安裝命令如下:

sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update && sudo apt-get install openjdk-8-jdk -y

1.2 安裝nginx

Nginx是一款輕量級的web服務(wù)器軟件,它將提供供我們訪問的gerrit服務(wù)器。安裝命令如下:

sudo apt-get install nginx -y

安裝成功后在你的瀏覽器中輸入服務(wù)器的IP地址,如果看到下面的顯示,則表明Nginx已正確安裝。

nginx

1.3 安裝密碼管理器htpasswd

htpasswd用于建立和更新登陸gerrit服務(wù)器的存儲用戶名/密碼的文本文件。它是apache工具集下的一個工具,因此我們需要安裝apache-utils。安裝命令如下:

sudo apt-get install apache2-utils -y

1.4 下載gerrit安裝包

安裝包可以直接點擊 gerrit release note頁面下載 ,或者直接使用下面命令下載:

wget https://gerrit-releases.storage./gerrit-2.15.4.war

二、配置gerrit

到目前為止安裝gerrit依賴的所有軟件已經(jīng)準備完畢,下面我們來開始安裝。在安裝前,需要說明一點的是:安裝gerrit最好在服務(wù)器上新建一個user,這個賬戶只用來安裝、配置并啟動gerrit服務(wù),因此,不需要賦給它更多的權(quán)限(比如root權(quán)限),而修改nginx的配置文件需要使用具有root權(quán)限的賬戶。因此,下文中涉及到修改gerrit配置文件,請切換回gerrit專用賬戶;其他操作(比如修改nginx配置文件),請使用具有root權(quán)限的賬戶。

2.1 創(chuàng)建gerrit專用賬戶

使用下面的命令創(chuàng)建一個gerrit專用賬戶,賬戶名字就叫做gerrit:

sudo adduser gerritsu gerritcd ~

2.3 安裝gerrit

接著使用下面的命令來安裝gerrit(注意,這里應(yīng)該使用gerrit專用賬戶)

java -jar ./gerrit-2.15.4.war init -d ~/gerrit_site

安裝過程很簡單,只需要使用默認的配置,一路回車下去就行了,只是在Authentication method方式時輸入http。

2.4 修改gerrit配置文件

安裝的時候我們基本選擇了默認配置,但是其中有兩項是需要修改的。gerrit的配置文件具體路徑為:/home/gerrit/gerrit_site/etc/gerrit.config

完整的文件如下,我們需要只需要修改第4行和第28行即可:

1 [gerrit] 2 basePath = git 3 serverId = 2d5e17e4-a507-424d-b5cd-f63d8e08e6fd 4 canonicalWebUrl = http://104.238.167.38:8085/ 5 [database] 6 type = h2 7 database = /home/gerrit/gerrit_site/db/ReviewDB 8 [noteDb 'changes'] 9 disableReviewDb = true 10 primaryStorage = note db 11 read = true 12 sequence = true 13 write = true 14 [index] 15 type = LUCENE 16 [auth] 17 type = HTTP 18 [receive] 19 enableSignedPush = false 20 [sendemail] 21 smtpServer = localhost 22 [container] 23 user = gerrit 24 javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre 25 [sshd] 26 listenAddress = *:29418 27 [httpd] 28 listenUrl = proxy-http://*:8085/ 29 [cache] 30 directory = cache

其中第4行表示要替換成你自己服務(wù)器的ip地址(104.238.167.38是我的服務(wù)器IP地址),端口號自己選擇一個當前未被占用的即可。第28行意思是使用反向代理,端口號要和第4行的設(shè)置成一樣。

2.5 添加gerrit的nginx配置文件

接下來,需要為nginx添加gerrit的配置文件(注意,這里我們需要切換為擁有root權(quán)限的賬戶)。添加的目錄為:/etc/nginx/conf.d。在其下面新建一個文件命名為gerrit.conf,然后將下面內(nèi)容寫入該文件,并保存。

server {     listen *:358;     server_name localhost;     allow   all;     deny    all;     auth_basic 'Welcomme to Gerrit Code Review Site!';     auth_basic_user_file /home/gerrit/gerrit_site/etc/gerrit.passwd;     location / {        proxy_pass  http://127.0.0.1:8085;        proxy_set_header X-Forwarded-For $remote_addr;        proxy_set_header Host $host;     }   }

其中,listen表示nginx對外監(jiān)聽的端口號,設(shè)置成任意一個未被占用的即可(我這里設(shè)置成了358)。proxy_pass這句里面的端口號應(yīng)該和gerrit配置文件(即2.4中的gerrit.config)里設(shè)置的一樣。

2.6 gerrit用戶賬號管理

下面我們使用htpasswd工具來建立和增加可登陸的gerrit賬號(注意,這里應(yīng)該使用gerrit專用賬戶)

2.6.1 新建配置文件并添加用戶賬號

sudo htpasswd -c /home/gerrit/gerrit_site/etc/gerrit.passwd administrator

這里我們在/home/gerrit/gerrit_site/etc/目錄下新建了一個名為gerrit.passwd的密碼配置文件,并添加了一個名為administrator的用戶賬號。

2.6.2 增加用戶賬號

sudo htpasswd -m /home/gerrit/gerrit_site/etc/gerrit.passwd user1

使用-m參數(shù)表示添加一個賬戶。這里我們在上述密碼配置文件中添加了一個名為user1的用戶賬號。

2.7 重啟服務(wù)

2.7.1 重啟nginx

使用下列命令重啟nginx(注意,這里我們需要切換為擁有root權(quán)限的賬戶)

sudo /etc/init.d/nginx restart

2.7.2 重啟gerrit服務(wù)

重啟gerrit服務(wù)(注意,這里應(yīng)該使用gerrit專用賬戶)

/home/gerrit/gerrit_site/bin/gerrit.sh restart

然后,打開瀏覽器訪問104.238.167.38:358(IP地址即為服務(wù)器的IP,端口號應(yīng)為nginx監(jiān)聽的端口號),即可看到gerrit登陸界面:

gerrit_test

然后輸入賬號登陸后,如果顯示下面的畫面,證明一切配置正常,gerrit就可以正常使用了。

gerrit_login

注意,gerrit默認第一次成功登陸的賬戶為gerrit服務(wù)器的管理員賬戶,它擁有整個gerrit系統(tǒng)的最大權(quán)限,包括但不限于新建project,新增group,配置所有用戶或者group對project的訪問、代碼下載、push和submit等權(quán)限,所以登陸的時候務(wù)必慎重!

三、問題調(diào)查

gerrit登陸出錯,有各種各樣的問題,請試著先從以下思路看看能否解決:
1. 使用2.7.2提供的命令,重啟nginx,然后重新gerrit。如果重啟失敗,查看gerrit啟動log,一般位于/home/gerrit/gerrit_site/logs/error_log
2. 如果重啟成功,但是登陸失敗,請查看nginx的log,一般位于:/var/log/nginx目錄下。對于log中的錯誤,可以自行g(shù)oogle解決。
3. 實在不行的話,可以考慮刪掉gerrit的安裝目錄,即/home/gerrit/gerrit_site/重新安裝。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多