Gerrit 是一个代码审查工具,它允许开发人员将代码推送到权威存储库,在那里可以在将其推送到生产环境之前对其进行查看。该应用程序与 git 非常同步。由于它的实用性,有多种方法可以构建强大且安全的 gerrit 平台,包括使用 MySQL 或 Postgres 代替默认的 H2 数据库、在另一个 Web 服务器后面配置 gerrit 以及自定义用于登录的身份验证(默认为open_id)。
本教程将介绍一个简单的 gerrit 解释,让您在云服务器上尽快启动和运行 gerrit。
第一步——Git
在开始安装 gerrit 之前,我们需要确保在我们的服务器上安装并设置了git 。如果万一它还没有安装在您的云服务器上,您可以通过 apt-get 快速获取它:
sudo apt-get install git
第二步——Java
为了工作,gerrit 需要在服务器上安装 Java。
您可以轻松检查 Java 是否已安装:
java -version
如果不是,您可以再次通过 apt get 安装它:
sudo apt-get install default-jdk
第三步——安装 Gerrit
一旦在我们的服务器上下载并安装了 Git 和 Java,我们就可以开始设置 gerrit。该程序本身托管在Google Code 网站上,但最新版本是 2.7
下载所需的war文件:
wget https://gerrit.googlecode.com/files /gerrit-2.7-rc1.war
下载后,我们需要初始化 gerrit。您可以使用以下命令执行此操作。
但是,如果您对默认设置感到满意,您可以使用 --batch 选项一次选择所有这些设置。此外,虽然默认情况下 gerrit 设置在用户的主目录中,但您可以通过在该行中添加 -d 来设置应放置文件的特定目录。
java -jar gerrit-2.7-rc1.war init --batch -d ~/gerrit_example
如果这个过程是自动完成的,那么可以访问 gerrit 的规范 URL 将只是localhost
第四步——访问您的 Gerrit 安装
设置好 Gerrit 后,您可以开始使用所需的用户访问它。
Gerrit 可以通过其规范 URL 访问,在设置中可见并且使用以下命令很容易找到:
git config -f ~/gerrit_example/etc/gerrit.config gerrit.canonicalWebUrl
可见的结果应该是这样的:
http://localhost:8080/
您可以在 gerrit.config 文件中更改 gerrit 设置。
vi ~/gerrit_example/ etc/gerrit.config
进行更改后请务必重启 gerrit:
~/gerrit_example/bin/gerrit.sh restart
如果您在规范 URL 中看到 localhost,您应该能够通过服务器的 IP 地址访问 gerrit。
首次登录时,页面应如下所示:
使用 OpenID,您应该能够在服务器上创建一个帐户。默认情况下,要注册的第一个帐户成为站点上的超级管理员。
第五步——创建一个新用户
当您开始创建新用户时,屏幕如下所示:
有几个部分必须填写。其中包括电子邮件、用户名和用户的 SSH 密钥。
如果您输入新电子邮件(而不是填充该字段的默认电子邮件),您可以手动添加它。但是,您需要先确认,然后才能在该电子邮件下注册用户。
该页面上有一个用于用户 SSH 密钥的大字段。您应该检查是否已经设置了 SSH 密钥,如果有,请粘贴公共密钥。如果您有 SSH 密钥,则不应创建新密钥
如果您没有 SSH 密钥,您可以按照网站上的说明生成一个。
您可以通过命令行使用您创建的用户名登录 gerrit 来检查您的 SSH 密钥是否正常工作。默认情况下,gerrit 在端口 29418 上运行。
ssh username@localhost -p 29418
成功登录后,您应该会看到以下文本。
ssh username@localhost -p 29418 The authenticity of host '[localhost]:29418 ([cannonicalURL]:29418)' can't be established. RSA key fingerprint is 19:73:55:9d:63:8b:c5:6f:cb:ee:4c:51:b4:e6:69:e4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[ocalhost]:29418' (RSA) to the list of known hosts. **** Welcome to Gerrit Code Review **** Hi, you have successfully connected over SSH. Unfortunately, interactive shells are disabled. To clone a hosted Git repository, use: git clone ssh://username @localhost:29418/REPOSITORY_NAME.git Connection to cannonicalURL closed.