如何在linux服务器上安装gerrit_嵌入式悦翔园的博客-爱代码爱编程
前言
Gerrit 是一个代码审查工具,允许开发人员将代码推送到一个具有权威的存储库,在 Gerrit 上可以在推送到真正生产环境之前对其进行查看。该应用程序与 git 非常同步。由于其实用性,有多种方法可以构建强大而安全的 Gerrit 平台,包括使用 MySQL 或 Postgres 而不是默认的H2
数据库,在另一个 Web 服务器后面配置Gerrit ,以及自定义用于登录的身份验证(默认为open_id
)。
本教程将介绍一个简单的 Gerrit 解释,使您可以尽快在云服务器上启动并运行 Gerrit。
安装Git
在开始安装 Gerrit 之前,我们需要确保在服务器上安装并设置了 Git。如果尚未安装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 代码网站上,但最新版本是2.7
下载Gerrit安装包
wget https://gerrit.googlecode.com/files/gerrit-2.7-rc1.war
下载后,我们需要初始化 Gerrit。您可以使用以下命令执行此操作。
如果你想使用 Gerrit 的默认配置,则可以使用 --batch
选项一次选择所有设置。如果不选择默认设置 Gerrit 是在用户的主目录中设置的,你可以通过向该行添加 –d
来设置应放置文件的特定目录。
java -jar gerrit-2.7-rc1.war init --batch -d ~/gerrit_example
如果此过程成功完成,则可以访问 Gerrit 的规范 URL 将只是本地主机。
访问Gerrit
设置 Gerrit 后,您可以通过其 URL 访问,具体 URL 在设置中可见,并且使用命令来进行查找:
git config -f ~/gerrit_example/etc/gerrit.config gerrit.canonicalWebUrl
注意:需要将路径换成自己的路径才能正确的查看到
如果显示以下内容,则表明 Gerrit 启动成功,并且可以正确访问:
http://localhost:8080/
当然访问的端口可以在配置文件中配置,具体文件路径如下:
vi ~/gerrit_example/etc/gerrit.config
在更改完配置后需要从其 Gerrit 服务才能生效,重启 Gerrit 服务只需运行以下指令即可:
~/gerrit_example/bin/gerrit.sh restart
此时你就可以直接访问 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.