日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gerrit的用法及与gitlab的区别

發布時間:2023/12/9 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gerrit的用法及与gitlab的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python微信訂餐小程序課程視頻

https://edu.csdn.net/course/detail/36074

Python實戰量化交易理財系統

https://edu.csdn.net/course/detail/35475
來到一個新的團隊,開發的代碼被同事覆蓋了。找同事核實,同事卻說根本沒有看到我的代碼。經過一番溝通了解,原來他們的代碼沒有直接在gitlab上操作,而是先提交到gerrit,然后在提交到git。但是代碼拉取的時候,不會直接從gitlab上拉取。所以,我提交到gitlab上的代碼,同事們都沒有拉取到。

新團隊使用的代碼審核工具是gerrit,因為之前一直使用的是gitlab,審題提交也都是使用的gitlab。但是新團隊的小伙伴說他們提交,拉取都到gerrit上,我問:那不用集團的gitlab么?同事說最終代碼還是保存在gitlab上,gerrit的作用就是用來審核的,當時有一個疑問,就是一個代碼審核工具嘛,為什么不直接用gitlab呢,而要多一個工具審核呢?得到的答復是gitlab不好用。因為不了解gerrit,也不好多說,但是心里有個大大的問號。

我的疑惑是,gitlab的代碼審核功能為何不好用?為何一定要嵌入一個新的工具gerrit呢?而這個工具的主體代碼還是在gitlab上,只是起到了審核的作用。所以,我要弄清兩個問題,這篇文章要解決兩個問題

1.Gerrit的用法,優缺點

2.和Gitlab在權限管理上的區別

一、Gerrit的用法

參考文檔:http://39.106.94.54:50000/002-常用基礎服務/05-gerrit服務部署/

1、Gerrit介紹

Gerrit是建立在git版本控制系統之上的,基于web的代碼審核工具。Gerrit是免費的,開源的,有一個可視化界面可供用戶操作。主要解決的問題是代碼審核。他在傳統的源碼工具管理協作流程中強制性引入代碼審核機制,通過人工代碼審核和自動化代碼驗證的方式,不符合要求的代碼屏蔽在代碼庫之外,確保核心代碼多人校驗、多人互備和自動化構建核驗。

2、Gerrit的使用

1)依賴組件

- 安裝git:版本管理工具

- 安裝gerrit:不用說了,我們的今天的主角

- 安裝nginx:啟動gerrit使用

- 安裝java:初始化gerrit使用

- 安裝mysql數據庫:用來保存gerrit中的用戶以及用戶提交的記錄

- 安裝gitlab:用來和gerrit做集成

- 集成jenkins:代碼提交到gerrit時,自動提交到gitlab

2)Gerrit安裝部署

第一步:安裝git

yum -y install git

第三步:安裝和配置數據庫

這一步省略了數據庫安裝步驟,使用現有數據庫就可以。

創建gerritdb數據庫

create database gerritdb CHARACTER SET utf8 COLLATE utf8_general_ci;

給用戶授權,我這里是root用戶, 所以,不用在授權了

grant all on gerritdb.* to 'gerrituser'@'localhost'identified by 'gerritpass';

第二步:安裝gerrit

下載地址:https://www.gerritcodereview.com/

將其拷貝到/root目錄下

在root下創建一個項目gerrit

并且解壓項目

java -jar gerrit-3.5.0.1.war init -d /root/gerrit/

以下為安裝大致內容

切換到root用戶下,然后執行安裝命令, 安裝過程中除數據庫選用mysql(并配置對應gerrit的數據庫和密碼)、開啟方向代理并配置端口外,其他均選默認即可

修改配置文件

[gerrit]basePath = gitcanonicalWebUrl = http://10.211.55.200:8080/serverId = d69a4326-ef00-45f2-bb84-8c91dd9af221 [database]type = mysqlhostname = 10.14.181.145database = gerritdbusername = rootpassword = 123456 [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 = rootjavaHome = /usr/lib/jvm/java-11-openjdk-11.0.14.1.1-1.el7_9.x86_64 [index]type = lucene [auth]type = HTTP [receive]enableSignedPush = false [sendemail]smtpServer = localhost [sshd]listenAddress = *:29418 [httpd]listenUrl = http://*:8080/ [cache]directory = cache

重啟服務

/root/gerrit/bin/gerrit.sh restart

這時在服務器驗證是否啟動成功

curl -GET http://localhost:8080

又返回,提示HTTP server did not provide the username,接下來配置nginx

第四步:安裝nginx

nginx下載地址:http://nginx.org/en/download.html

安裝nginx的依賴

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

解壓nginx文件

tar -zxvf nginx-1.18.0.tar.gz

進入解壓后目錄執行編譯

./configure --with-http_ssl_module

編譯參數有很多,這邊我只增加了SSL模塊,小伙伴可以根據自身情況調整

–prefix=PATH:指定 nginx 的安裝目錄
–conf-path=PATH:指定 nginx.conf 配置文件路徑
–user=NAME:nginx 工作進程的用戶
–with-pcre:開啟 PCRE 正則表達式的支持
–with-http_ssl_module:啟動 SSL 的支持
–with-http_stub_status_module:用于監控 Nginx 的狀態
–with-http-realip_module:允許改變客戶端請求頭中客戶端 IP 地址
–with-file-aio:啟用 File AIO
–add-module=PATH:添加第三方外部模塊

執行完上述命令后,在解壓目錄下,多出一個Makefile文件


執行make命令

make

執行make install 命令

make install

因編譯時未指定安裝目錄,執行make install 命令后看到反饋日志信息,實際安裝目錄為/usr/local/nginx
進入實際安裝目錄,看看,并在其sbin目錄下執行啟動nginx

cd /usr/local/nginx/ ./nginx


配置nginx作為代理認證,設置nginx的80端口直接跳轉到gerrit的登錄

server {listen 80;server_name localhost;location / {#root html;#index index.html index.htm;auth_basic "Gerrit Code Review";auth_basic_user_file /passwords;proxy_pass http://127.0.0.1:8080;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header Host $host;}}

auth_basic 是否開啟使用“HTTP基本認證”(HTTP Basic Authentication)協議的用戶名密碼驗證, 默認不開啟

語法: auth_basic string | off;
默認值: auth_basic off;
上下文: http,server,location,limit_except

auth_basic 值為off表示不開啟HTTP基本認證。

auth_basic指定了字符串,那么字符串會在彈窗中顯示

auth_basic_user_file 指定保存用戶名密碼的文件

語法: auth_basic_user_file file;
默認值: —
上下文: http,server,location,limit_except

接下來,創建保存用戶名密碼的文件

touch /passwords htpasswd -m /passwords admin密碼設置為 123456

可以查看文件內容


重啟nginx

訪問nginx服務器,端口是80

http://10.211.55.200/


登錄成功后,會直接跳轉到http://10.211.55.200:8080,如下界面。


我這個是新版本的,創建項目在BROWER下的Repository–>CREATE NEW


上面創建了一個管理員賬號

接下來創建普通用戶賬號

touch /gerrit.password

htpasswd -m /gerrit.password test

密碼為 123456

普通用戶登錄看不到創建項目的按鈕。其他功能都是差不多的

二、對比Gerrit和gitlab

Gerrit其實就是多了一個審核功能,個人覺得沒有必要非要使用gerrit,尤其是小團隊。gitlab的審核功能足夠了。gitlab+gerrit 更是架空了gitlab,還多費一遍事。

總結

以上是生活随笔為你收集整理的Gerrit的用法及与gitlab的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久av影视 | 最新中文字幕在线观看视频 | 97人妻精品一区二区三区免费 | 亚洲久视频 | 五月天激情视频在线观看 | 又色又爽又黄18网站 | 精品国产三级 | 天天色天天色天天色 | 夜夜夜撸 | 日韩免费 | 欧美一区二区视频在线 | 国产九九九九九 | 国产精品日韩av | 亚洲av成人精品一区二区三区在线播放 | 日韩精品视频一区二区三区 | 麻豆porn| 国产福利一区在线观看 | 91免费国产在线观看 | 亚洲女人视频 | 国模视频一区 | 婷婷6月天 | 一区国产精品 | 国产欧美专区 | 中文字幕日韩一区二区三区不卡 | 国产精品第二十页 | 国产成人小视频在线观看 | 人人爽人人干 | 叼嘿视频91 | 久久久久久久穴 | 国产麻豆精品在线观看 | 山村大伦淫第1部分阅读小说 | 国产精品国产精品国产专区 | 天天干天天操天天插 | 黑人操日本女人 | 中文字幕视频在线观看 | 射射综合网 | 亚洲视频一区在线播放 | www啪啪 | 奇米综合 | 日韩精品成人av | 性网站在线观看 | 免费三片在线观看网站v888 | 夫妻黄色片 | 亚洲av无码久久精品色欲 | 男生操女生逼逼 | 五月婷婷激情综合网 | 亚洲天堂视频一区 | 无码毛片aaa在线 | 国产免费一区 | 亚洲乱码国产乱码精品 | 久久精品视频一区二区三区 | 亚洲精品无码久久 | 欧美粗大猛烈 | 人妻精品久久久久中文 | 亚洲高清免费 | 天天摸天天操天天射 | 欧美久久久久久久久久 | 99久久久久久 | 麻豆国产在线播放 | 97久久久 | 黄在线免费观看 | 成人一区三区 | av片亚洲| 足交在线观看 | 国产成人午夜精品无码区久久 | 色综合图区 | 99免费看 | 在线看www| 日韩在线色 | 午夜天堂精品久久久久 | 人人做人人爽人人爱 | 欧美人妻精品一区二区三区 | 婷婷亚洲一区 | 免费看成年人视频 | 国产精品中文字幕在线 | av新天堂| 日韩123| 亚洲视频第一页 | 国产精品一区网站 | 用力使劲高潮了888av | 国产一区二区三区影视 | 久久久国产一区二区三区 | 成人宗合 | 久久久综合网 | 青青草视频免费观看 | 电影《两个尼姑》免费播放 | 女同久久另类69精品国产 | 伊人亚洲影院 | 99成人 | 蜜桃精品久久久久久久免费影院 | 人妻少妇一区二区三区 | 日韩网站在线播放 | 四月婷婷 | 精品国产视频一区二区 | 久久久青草 | 九九九亚洲 | 国产做受高潮 | 韩国视频一区二区三区 | 日韩欧美中文字幕在线观看 |