问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何搭建代码审核 服务器gerrit

发布网友 发布时间:2022-04-07 21:08

我来回答

2个回答

懂视网 时间:2022-04-08 01:29

apt-get install git

3 JDK8安装

Ubuntu14.10及以上版本的Ubuntu官方软件中心里有OpenJDK java 8,可以直接用apt-get安装,低版本得从PPA(Personal Package Archives 个人软件包集)中安装。

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

配置Java环境变量

  • PATH,指定命令搜索路径,在shell下执行命令时,会到PATH变量指定的路径中查找相应命令程序,如java/javac
  • CLASSPATH,指定类搜索路径,JVM通过它寻找类
  • JAVA_HOME,其他软件通过它找到jdk的安装目录
  • vi /etc/profile
    export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21 
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH 
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    source /etc/profile
    java -version

    如果安装了多个jdk,就选择一个默认的

    sudo update-alternatives --config java
    sudo update-alternatives --config java

    4 PostgreSQL安装

    sudo apt-get install postgresql

    初次安装后,会默认生成名为postgres的Linux系统用户、数据库和数据库用户(作为数据库管理员),首先修改postgres数据库用户的密码,然后增加Gerrit需要的数据库

    sudo -u postgres psql
    postgres=# password postgres
    (input password twice)
    postgres=# q
    sudo -u postgres createuser -RDIElPS gerrit2
    sudo -u postgres psql
    postgres=# password gerrit2
    (input password twice)
    sudo -u postgres createdb -E UTF-8 -O gerrit2 reviewdb

    5 Gerrit安装

    从官网下载Gerrit的安装包,为了方便改名为gerrit.war,建议创建一个Linux用户来安装,本人安装在gerrit2用户的review_site目录下

    sudo adduser gerrit2
    sudo su gerrit2
    java -jar gerrit.war init -d /home/gerrit2/review_site

    然后就会进行很多配置,大部分默认即可,要注意的是数据库和身份认证,这些配置也可以在安装完成后在~/review_site/etc/gerrit.config文件中修改。

    以下是别人的配置,他是用MySQL+Nginx做HTTP认证,这里贴出来只是让大家看下大概的安装步骤,仅供参考:

    # java -jar gerrit-2.8.war init -d /etc/gerrit/
    
    *** Gerrit Code Review 2.8
    ***
    
    Create ‘/etc/gerrit‘  [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.21
    ** This library is required for your configuration. **
    Download and install it now [Y/n]? y
    Downloading http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar ... OK
    Checksum mysql-connector-java-5.1.21.jar OK
    Server hostname  [localhost]:
    Server port   [(mysql default)]:
    Database name   [reviewdb]: gerritdb
    Database username  [root]: gerrituser
    gerrituser‘s password  :
      confirm password :
    
    *** User Authentication
    ***
    
    Authentication method  [OPENID/?]: http
    Get username from custom HTTP header [y/N]? n
    SSO logout URL   :
    
    *** Email Delivery
    ***
    
    SMTP server hostname  [localhost]: smtp.googlemail.com
    SMTP server port  [(default)]: 587
    SMTP encryption  [NONE/?]: tls
    SMTP username   [root]: gerrit@thstack.com
    review@thstack.com‘s password :
      confirm password :
    
    *** Container Process
    ***
    
    Run as    [root]:
    Java runtime   [/usr/lib/jvm/java-6-openjdk-amd64/jre]:
    Copy gerrit-2.8.war to /etc/gerrit/bin/gerrit.war [Y/n]? y
    Copying gerrit-2.8.war to /etc/gerrit/bin/gerrit.war
    
    *** SSH Daemon
    ***
    
    Listen on address  [*]:
    Listen on port   [29418]:
    
    Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
     If available, Gerrit can take advantage of features
     in the library, but will also function without it.
    Download and install it now [Y/n]? y
    Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... OK
    Checksum bcprov-jdk16-144.jar OK
    Generating SSH host key ... rsa... dsa... done
    
    *** HTTP Daemon
    ***
    
    Behind reverse proxy  [y/N]? y
    Proxy uses SSL (https://) [y/N]? n
    Subdirectory on proxy server [/]:
    Listen on address  [*]:
    Listen on port   [8081]: 8082
    Canonical URL   [http://www.thstack.com/]: http://review.thstack.com/
    
    *** Plugins
    ***
    
    Install plugin reviewnotes version v2.8 [y/N]? y
    Install plugin download-commands version v2.8 [y/N]? y
    Install plugin replication version v2.8 [y/N]? y
    Install plugin commit-message-length-validator version v2.8 [y/N]? y
    
    Initialized /etc/gerrit
    Executing /etc/gerrit/bin/gerrit.sh start
    Starting Gerrit Code Review: OK
    Waiting for server on review.thstack.com:80 ... OK
    Opening http://review.thstack.com/#/admin/projects/ ...FAILED
    Open Gerrit with a JavaScript capable browser:
    
    http://review.thstack.com/#/admin/projects/

    我试过用Apache做反向代理,需要配置不过配置~/review_site/etc/gerrit.config还有/etc/apache2/httpd.conf,还是有点问题,总是报Authorization header的错误,最后选择了LDAP认证,LDAP服务器是公司已经搭好的,直接用了。

    最后,我的~/review_site/etc/gerrit.config如下:

    [gerrit]
     basePath = git
     canonicalWebUrl = https://localhost:8080
    [database]
     type = postgresql
     hostname = localhost
     database = reviewdb
     username = gerrit2
    [auth]
     type = LDAP
    [ldap]
     server = ldaps://xx:xx
     accountBase = xx
     accountPattern = (&(objectClass=person)(uid=${username}))
     accountFullName = cn
     accountEmailAddress = mail
     accountSshUserName = uid
     referral = follow
     groupBase = xx
     groupScope = one
    [sendemail]
     smtpServer = localhost
     from = ${user} [review] <xx@xx.com>
    [container]
     user = gerrit
     javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
    [sshd]
     listenAddress = *:29418
    [download]
     scheme = ssh
     scheme = http
    [httpd]
     listenUrl = proxy-http://localhost:8080
    [cache]
     directory = cache
    [http]
     proxy = http://xx:xx
    [gitweb]
     cgi = /usr/lib/cgi-bin/gitweb.cgi
    [cache "web_sessions"]
     maxAge = 1 month

    配置好后,启动Gerrit,需要用绝对路径

    /home/gerrit2/review_site/bin/gerrit.sh start

    在浏览器输入 http://localhost:8080 弹出Gerrit的页面,终于成功了!
    技术分享

    Gerrit服务器的搭建(Git+Gerrit+PostgreSQL+LDAP)

    标签:

    热心网友 时间:2022-04-07 22:37

    似乎就是那么慢的, 你调试完后不要关闭模拟器窗口, 代码修改完后直接 run 应该可以的
    Gerrit环境与代码Review实战

    首个成功登录的用户默认为管理员,权限包括创建用户账号和配置权限。使用命令设置账号和密码,确保安全性。通过OpenID登录后,管理员拥有创建用户组和添加成员的权限。配置完成后,使用命令启动Gerrit服务器,监听8080端口,若启动失败需检查端口使用情况。为了提供更强大的Web服务,可以设置反向代理,如nginx。通...

    代码静态分析服务哪家性价比高?

    价格只是购买产品或服务过程中的一项指标,如果单纯只比较价格,其实考虑并不是那么周到。价格、质量、服务、口碑、是否合适自己的情况等都需要一起考虑。以上回答如果还觉得不够详细,可以来咨询下北京磐安公司。北京磐安公司是一家专业从事高新...

    如何用Gerrit管理你的Android代码?

    一、Gerrit简介:Gerrit为Android系统量身定制,采用网页界面的版本控制系统,促进开发者间代码审阅,简化代码管理流程。二、工作流程:Gerrit在代码提交前实现预审,通过代码静态检测和自动化验证,确保代码质量。三、服务器搭建:依次安装Git、JDK、Gitweb、Gerrit安装包,配置环境,安装Apache并设置代理模块,...

    什么是代码审查以及如何节省时间: 开发人员指南

    **Gerrit**:开源工具,支持基于web的代码审查,基于Git的SSH和HTTP服务器,遵循开源项目中常用的面向补丁的审查过程。 **JetBrains Upsource**:提供提交后代码审查、拉取请求请求、分支审查和项目分析功能。 **Reviewable**:专门为GitHub pull请求设计的代码审查工具,提供免费选项和私人存储库计划。 **JetBrains Space**...

    如何搭建服务器 如何自己搭建服务器 云服务器如何搭建网站 个人服务器搭建 服务器网站搭建 搭建服务器教程 个人服务器搭建教程 个人服务器搭建违法 云服务器搭建
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    什么叫做项目融资贷款 小区物业要买公众责任险,要向物业公司打报告,报告范文怎么写_百度知 ... ...证被亲戚拿去做银行抵押贷款了,当初我签字担保人,现在怎么处理_百度... ...现在他一直没还款银行要起诉他了,他有房产证等他能用房子抵压吗... 破坏小区围墙进入小区偷盗公众责任险要赔付吗 2023-08-05 如何基于 uni-push2.0 实现全平台推送 ...叫我拿房产证复印件去银行帮他做担保人,然后还说每个月给我二干四... 洗脸扑会过期吗 2023-08-15 如何在 uni-app 中检测 APP 端是否有通知权限 减肥期间怎么饮食饿了怎么办 电视的天线什么好? 普通的电视天线哪个品牌好,就是接收地方台的,不是卫星天线 电视室外天线大锅子与小锅子哪个好? 梅州市东升工业园有哪些工厂? 在哪能买到接收效果好图像又清晰的室外电视转向天线呢? 普通电视,安装室外天线好还是D地面波鱼骨天线 我要买电视天线,现我不懂,29寸的电视机买什么天线好? 电脑上的微信怎样扫一扫 什么室外电视天线(不是卫星天线)信号最好更清晰收的台更多? 新股博敏电子代码603936 什么时间上市 什么品牌电视天线好? 股票603936的公司是做什么的?有什么背景? 江苏博敏电子有限公司工程部怎么样? 苹果手机天气预报24小时详情怎么开 今天二十四小时天气? 如何在中国天气网上面查询以前的天气状况 怎样看某一地区历史24小时天气 中国天气网怎么查询过去24小时的整点天气实况 84消毒液在空气中露置如何变质? 寻找一款能看到主力资金流向 分时走势 而且有及时买卖点提示的软件?售后服务也要好 还能抓牛股什么的 北京市宣武有电脑培训学校吗? 泡过的茶叶如何废物利用? 生活小常识:泡过的茶叶有什么妙用 剩茶水的用处? 香山电子秤为什么秤过以后立马黑屏? 华为荣耀X10手机怎样查询例如8+128内存的? 13摄氏度适合穿什么衣服? 泡过的茶如何废物利用 北京哪里有电脑培训班 华为荣耀7内存是多大的? 晾干的废茶叶可以用来做什么 废茶叶可以作为花肥吗?怎样使废茶叶充分腐熟? 北京电脑培训学校有哪些 怎样用废茶叶驱蚊 思埠智能健康体脂秤怎么连接手机呀? 废茶叶做花肥的方法 北京寒假有免费培训电脑的吗? 没泡过的绿茶有碎渣什么妙用 泡过的茶叶如何废物利用 北京电脑维修培训学校有哪些