明阁箱包 發表於 2023-5-31 00:00:00

CentOS7搭建gerrit 代码审查服务方法

<p>
        <span><strong>步骤一:创建专用账户和工作目录</strong></span></p>
<p>
        adduser gerrit;passwd gerrit;创建gerrit专用工作目录:mkdir /home/gerrit</p>
<p>
        <span><strong>步骤二:配置Java环境</strong></span></p>
<p>
        <strong>1) 从官网下载JDK:http://download.oracle.com/otn-pub/java/jdk-nb/8u161-8.2/jdk-8u161-nb-8_2-linux-x64.sh</strong></p>
<p>
        <strong>2) 添加执行权限chmod a+x jdk-8u161-nb-8_2-linux-x64.sh,然后运行该脚本安装</strong></p>
<p>
        <strong>3) 设置环境变量,编辑/etc/profile或~/.bashrc文件在文件末尾添加如下配置</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_344176">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">export JAVA_HOME=/usr/local/jdk1.8.0_161</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml plain">export JRE_HOME=$JAVA_HOME/jre</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml plain">export CLASSPATH=$JAVA_HOME/lib</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml plain">export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CLASSPATH</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>4) 测试Java 环境,在终端输入:java -version 查看是否正常显示版本信息,若显示则安装成功</strong></p>
<p>
        <span><strong>步骤三: 下载安装gerrit</strong></span></p>
<p>
        <strong>1) 从官网下载gerrit: http://code.google.com/p/gerrit/ 存放于/home/gerrit目录</strong></p>
<p>
        <strong>2) 安装gerrit: java -jar gerrit-full-2.5.2.war init -d review_site ,一路回车,默认安装</strong></p>
<p>
        <strong>3) 修改gerrit 配置文件,其说明如下:</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_173858">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">basePath = git   //指定被gerrit管理的所有git库存放位置,即review_site_project/git/</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">canonicalWebUrl = http://192.168.0.20:8081/  //指定web访问gerrit的网址//填自己的ip和端口号</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">type = h2     //指定gerrit所默认数据库类型,可以选用mysql,安装并创建gerrit账户</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">database = db/ReviewDB   </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">type = HTTP  //指定浏览器登录gerrit时的认证方式</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">enable = true</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">smtpServer = smtp.126.com</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">smtpServerPort = 25</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">smtpUser = xxx@126.com</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">smtpPass = xxx</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">sslVerify = false</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">from = CodeReview&lt;</code><code class="xhtml keyword">xxx</code><code class="xhtml plain">@126.com&gt;</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">user = gerritserver            //指定gerrit所在机器的用户身份与上文创建的用户对应一致</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">javaHome = /usr/lib/jvm/jdk7/jre      //系统本身自带</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">listenAddress = *:29418     //指定sshd服务监听的端口号</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">listenUrl = http://*:8081/project      //指定http代理地址</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="xhtml plain"></code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">directory = cache   //缓存位置</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>4) 启动gerrit服务:review_site/bin/gerrit.sh start | stop | restart</strong></p>
<p>
        如果提示发生如下错误:** ERROR: GERRIT_SITE not set</p>
<p>
        则可按如下方法修改:vim gerrit.sh</p>
<p>
        在GERRIT_SITE变量被赋值之后加入下面这行,改变该变量的值。</p>
<p>
        GERRIT_SITE=/home/gerrit/review_site</p>
<p>
        <strong>5) 开机启动:ln -snf /home/gerrit/review_site/bin/gerrit.sh /etc/init.d/gerrit.sh</strong></p>
<p>
        <span><strong>步骤四:配置反向代理服务(Nginx)</strong></span></p>
<p>
        <strong>1) 安装Nginx反向代理服务器</strong></p>
<p>
        安装gcc: yum install gcc-c++</p>
<p>
        安装PCRE: yum install -y pcre pcre-devel</p>
<p>
        安装zlib: yum install -y zlib zlib-devel</p>
<p>
        安装openssl: yum install -y openssl openssl-devel</p>
<p>
        下载nginx:https://nginx.org/en/download.html</p>
<p>
        安装Nginx:tar -xzvf nginx-1.13.7.tar.gz; cd nginx-1.13.7;./configure; make; make install</p>
<p>
        开机启动:vi /etc/rc.local文件末尾增加一行 /usr/local/nginx/sbin/nginx</p>
<p>
        <strong>2) 配置nginx: vim /usr/local/nginx/conf/nginx.conf</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_731117">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">server {</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">listen    80;</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">server_name localhost;</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">#charset koi8-r;</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">#access_log logs/host.access.log main;</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">location / {</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">#root  html;</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">#index index.html index.htm;</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="xhtml spaces">   </code><code class="xhtml plain">auth_basic       "Welcome to Gerrit Code Review !";</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">auth_basic_user_file  /home/gerrit/gerrit.passwd;</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">proxy_pass       http://127.0.0.1:8081;</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">proxy_set_header    X-Forwarded-For $remote_addr;</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">proxy_set_header    Host $host;</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">}</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                         </div>
                                                                <div class="line number16 index15 alt1">
                                                                         </div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">#error_page 404       /404.html;</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                         </div>
                                                                <div class="line number19 index18 alt2">
                                                                         </div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain"># redirect server error pages to the static page /50x.html</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">#</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">error_page  500 502 503 504 /50x.html;</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">location = /50x.html {</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="xhtml spaces">      </code><code class="xhtml plain">root  html;</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="xhtml spaces">    </code><code class="xhtml plain">}</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        启动Nginx服务:/usr/local/nginx/sbin/nginx</p>
<p>
        <strong>3)设置第一个gerrit用户的帐号和密码</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_423082">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">touch ./review_site/etc/passwd</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml plain">htpasswd -b ./review_site/etc/passwd gerrit gerrit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>步骤五:测试,访问: </strong></span><span><strong>http://192.168.0.20</strong></span><span><strong> ,用gerrit用户登录 </strong></span></p>
<p>
        以上这篇CentOS7搭建gerrit 代码审查服务方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。</p>
<p>
        原文链接:https://blog.csdn.net/u013207966/article/details/79112740</p>
頁: [1]
查看完整版本: CentOS7搭建gerrit 代码审查服务方法