本地gerrit搭建及使用指南

时间:2024-03-17 22:08:12
  1. 管理者关注部分
  • 搭建gerrit环境
  •     下载JRE

   Download jre-1.8路径: https://www.oracle.com/technetwork/java/javase/downloads/index.html

  •     下载gerrit

    wget https://gerrit-releases.storage.googleapis.com/gerrit-3.0.3.war

  •     安装gerrit

    export GERRIT_SITE=~/gerrit_testsite

    java -jar gerrit-3.1.3.war init --batch --dev -d $GERRIT_SITE

    提示:

            参数    --batch 设置gerrit部分参数为默认值。

                       --dev    配置gerrit服务器使用授权选项。

                       --d        配置初始化安装路径

    命令执行成功结果:

Generating SSH host key ... rsa(simple)... done

Initialized /home/gerrit/gerrit_testsite

Executing /home/gerrit/gerrit_testsite/bin/gerrit.sh start

Starting Gerrit Code Review: OK

  •     配置文件

    如果搭建起来的gerrit服务器,登陆的时候显示的是openid。用户不能创建和登陆。可以参考本配置文件,设置成第一个访问者成为管理者,其他访问者自动成为用户的配置。 

    文件:gerrit.config

  •     更新监听URL

    git config --file $GERRIT_SITE/etc/gerrit.config httpd.listenUrl 'http://localhost:8080'

  •     重启gerrit服务

    $GERRIT_SITE/bin/gerrit.sh restart

  •     查看gerrit网页

    http://localhost:8080

    或者http://192.168.1.2:8080/

    第一个访问的ID将会是管理员账户,后面每新登录一个账户,就会创建一个新ID。

  • 创建project

    命令创建新仓库
    shell命令行输入如下创建新工程:

    ssh -p 29418 [email protected] gerrit create-project hello.git

    其中jqh换成自己的用户名,如果在其他电脑上,127.0.0.1换成146的ip地址192.168.1.2。

    网页创建新仓库
    访问网页:http://192.168.1.2:8080/

    通过已有用户名登录,点击“BROWSE”----“Repositories”,

    再选择右边的"CREATE NEW",即可创建一个默认的仓库(工程)。

创建fuchsia_仓库,示例如下:(其中create initial empty commit选项,false-无commit记录,true-有初始化commit记录)

创建自带git log记录的已有仓库时,请选择false。我这里选择false。

创建已有仓库,带log记录
    ,首先需要在gerrit上创建一个空仓库不带日志记录的空仓库。

    方法一:

        如上一步网页创建新仓库。

    方法二:

    使用命令行 ssh -p 29418 [email protected] gerrit create-project fuchsia_.git

    ,然后

    克隆已有仓库,并进入该目录

    git clone /home/zeos/fuchsia;cd fuchsia;

    配置gerrit仓库权限

本地gerrit搭建及使用指南

    git push -o skip-validation ssh://[email protected]:29418/fuchsia_.git *:*

  • 创建分支

    ssh -p 29418 review.example.com gerrit create-branch myproject newbranch master

  • 用户推送设置

    为了用户能够将修改内容提交推送到本gerrit服务器,需要管理员对该仓库做如下配置:(其中require change-id in commit messge选择false)

  • 管理员常用命令

    ssh -p 29418 [email protected] gerrit xxx

    比如创建项目:ssh -p 29418 [email protected] gerrit create-project test.git

2.用户关注部分

  • 生成public kery

    ssh-****** -t rsa

    cat ~/.ssh/id_rsa.pub

    将生成的公钥拷贝到new ssh key框内,然后点击“ADD NEW SSH KEY”。

  • 克隆仓库

    同一台电脑:

    git clone ssh://[email protected]:29418/fuchsia.git

    x服务器:

    git clone ssh://[email protected]:29418/fuchsia_.git

    其他用户克隆的时候,将jqh换成自己用户名即可。

  • 推送远程仓库

    推送前确认自己用户的git全局配置,主要关注用户名和邮件,查看全局信息:

    git config --list

  •     配置全局信息:

    git config --global user.name “github’s Name”

  git config --global user.email “[email protected]

  •   配置好之后,开始推送

    git push origin HEAD:refs/for/master