[ English | 한국어 (대한민국) | Indonesia | 中文 (简体, 中国) | español (México) | English (United Kingdom) | Deutsch ]

设置您的 Gerrit 账户

注意

本节假定您已完成 设置并学习 GIT 指南。

什么是 Gerrit?

这是 OpenStack 社区使用的代码审查系统。

Gerrit 允许您审查

注册

  1. 访问 OpenStack 的 Gerrit 页面 并点击 登录 链接。

  2. 系统将提示您选择一个用户名。您可以输入与 Launchpad 相同的用户名,也可以输入其他用户名。

注意

仔细选择并输入您的用户名。一旦设置,您将无法更改用户名。

注意

从现在开始,当您登录 Gerrit 时,系统将提示您输入您的 Launchpad 登录信息。这是因为 Gerrit 使用它作为 OpenID 单点登录。

设置 SSH 密钥

它们是什么?

为了将内容推送到 Gerrit,我们需要一种识别自己的方式。我们将使用 SSH 密钥来做到这一点,它允许我们推送更改的机器与 Gerrit 服务器执行 挑战-响应认证

SSH 密钥总是成对生成

  • 私钥 - 只有您知道,应该安全保管。

  • 公钥 - 可以自由地与您希望连接的任何 SSH 服务器共享。

总而言之,您将生成一个 SSH 密钥对,并将您的公钥提供给 Gerrit 服务器。您的系统持有私钥,因此在挑战-响应认证期间不会有问题。

有些人选择使用一个 SSH 密钥对来访问许多系统,而另一些人则更喜欢使用单独的密钥对。以下部分涵盖了这两种选择。

检查现有密钥

打开您的终端程序并输入

ls -la ~/.ssh

通常,公钥文件名如下所示

  • id_dsa.pub

  • id_ecdsa.pub

  • id_ed25519.pub

  • id_rsa.pub

如果您看不到带有 .pub 扩展名的文件,或者想为 OpenStack Gerrit 生成特定的密钥,则需要生成密钥。

生成 SSH 密钥对

注意

本指南建议使用 ed25519 密钥,因为已发现这种类型在所有操作系统上都能很好地工作。

生成默认或初始 SSH 密钥对

您可以使用提供的电子邮件作为标签生成新的 SSH 密钥对,方法是进入您的终端程序并输入

ssh-keygen -t ed25519 -C "your_email@example.com"

当系统提示您“Enter a file in which to save the key”(输入保存密钥的文件)时,按 Enter。这将接受默认位置

Enter a file in which to save the key (/Users/you/.ssh/id_ed25519): [Press enter]

在提示符下,输入一个安全的密码短语,您可以输入一个或按 Enter 以没有密码短语

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

为 OpenStack Gerrit 生成单独的密钥对(可选)

您可以使用提供的电子邮件作为标签生成新的 SSH 密钥,方法是进入您的终端程序并输入

ssh-keygen -t ed25519 -C "your_email@example.com"

当系统提示您“Enter a file in which to save the key”(输入保存密钥的文件)时,您必须指定新的密钥对的名称,然后按 Enter

Enter a file in which to save the key (/Users/you/.ssh/id_ed25519): /Users/you/.ssh/id_openstack_ed25519

在提示符下,输入一个安全的密码短语,您可以输入一个或按 Enter 以没有密码短语

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

最后,您需要告诉 ssh 将 SSH 密钥与哪些主机关联。为此,请在编辑器中打开“~/.ssh/config”,如果该文件不存在则创建它,并添加如下内容

Host review.opendev.org review
  Hostname review.opendev.org
  Port 29418
  User <your_gerrit_username>
  IdentityFile ~/.ssh/id_openstack_ed25519

复制公钥

Mac OS & Linux

在您的终端中输入

cat ~/.ssh/id_ed25519.pub

或者,如果您创建了单独的密钥对,假设上面的示例名称

cat ~/.ssh/id_openstack_ed25519.pub

选择并复制输出。

将公钥导入 Gerrit

  1. 转到 Gerrit 的 SSH 密钥部分,位于用户设置中

  2. 将公钥粘贴到 New SSH Key 文本框中。

  3. 点击“ADD NEW SSH KEY”按钮。

Git Review

它是什么?

Git review 是 OpenStack 社区维护的一个工具。它向 ‘git’ 添加了一个额外的子命令,如下所示

git review

当您在 OpenStack 项目存储库中进行更改时,可以使用此子命令将更改发布到 Gerrit 以便进行审查。

安装

Mac OS

在终端中输入

pip install git-review

如果您尚未安装 pip,请按照 安装文档 安装 pip。

注意

Mac OS X El Capitan 和 Mac OS Sierra 用户在使用该命令安装时可能会看到“Operation not permitted”(操作被禁止)错误消息。在这种情况下,有两种方法可以成功安装 git-review。

选项 1:使用更多选项安装 pip

pip install --install-option '--install-data=/usr/local' git-review

选项 2:使用包管理器 Homebrew,并在终端中输入

brew install git-review

Linux

对于 Debian、Ubuntu 或 Mint 等发行版,打开终端并输入

sudo apt install git-review

对于 RedHat、Fedora 或 CentOS 等发行版,打开终端并输入

sudo dnf install git-review

对于 SUSE 发行版,打开终端并输入

sudo zypper in python-git-review

配置

Git review 假定您运行它的用户与您的 Gerrit 用户名相同。如果不是,您可以设置此 git 配置设置

git config --global gitreview.username <username>

如果您不知道您的 Gerrit 用户名,可以查看 Gerrit 设置

准备发送审查

在对补丁进行 git commit 之前,重要的是初始化 git review。使用以下命令在您的存储库中执行初始 git review 配置

git review -s

该命令设置必要的远程主机和提交钩子,以启用将更改推送到 Gerrit。

注意

Git review 只需要在一个存储库中初始化一次。

提交您的提交以供审查

为了将您的代码提交到 OpenStack 代码审查系统,请确保您已 签署您的提交。如果您没有签署您的提交,代码审查提交将失败。使用有效的已签署提交,您可以使用以下命令将您的代码提交到审查系统

git review