Google代码审查工具'Gerrit'的数据爬虫

v0.2.0 2014-12-04 20:22 UTC

README

Build Status Dependency Status Scrutinizer Code Quality Code Coverage Documentation Status

Gerrie是Google开发的代码审查系统Gerrit的数据和信息爬虫。

Gerrie使用由Gerrit提供的SSH和REST-API将Gerrit的数据转换为RDBMS。目前仅支持MySQL。转换后的数据可以用于执行简单的查询或复杂的分析。一个用例是分析使用Gerrit的社区,如TYPO3WikimediaAndroidQtEclipse以及更多

Gerrie已弃用: watson将替代Gerrie。Watson受益于我们在更大规模(爬取)开发和维护Gerrie方面的经验。请参阅#17获取更多信息。尽管如此,我们仍然合并并支持Gerrie的贡献

功能

  • 完整导入
  • 增量导入
  • 全面支持SSH API
  • 命令行界面
  • MySQL作为存储后端
  • 调试功能
  • 日志功能
  • 全面文档化

入门

下载应用程序并安装依赖项

$ git clone https://github.com/andygrunwald/Gerrie.git .
$ composer install

复制配置文件并调整配置(数据库SSHGerrit

$ cp Config.yml.dist Config.yml
$ vim Config.yml

为用户max.mustermann提供一个简洁的配置,如下所示

Database:
  Host: 127.0.0.1
  Username: root
  Password:
  Port: 3306
  Name: gerrie

SSH:
  KeyFile: /Users/max/.ssh/id_rsa_gerrie

Gerrit:
  TYPO3:
    - ssh://max.mustermann@review.typo3.org:29418/

在您的数据库中创建一个名为gerrie的新数据库,并设置数据库模式

$ mysql -u root -e "CREATE DATABASE gerrie;"
$ ./gerrie gerrie:setup-database --config-file="./Config.yml"

在您要爬取的Gerrit实例(例如review.typo3.org:29418)中创建一个账户(例如max.mustermann),将您的SSH公钥添加到Gerrit实例,并执行gerrie:check命令以检查您的环境

$ ./gerrie gerrie:check --config-file="./Config.yml"

重要:如果您的SSH密钥受密码短语保护,则此检查将提示您输入密码短语以使用私钥进行此连接。Gerrie不会保存或传输此密码短语到任何外部服务器。私钥仅用于对Gerrit实例进行身份验证。

如果一切正常,开始爬取

$ ./gerrie gerrie:crawl --config-file="./Config.yml"

现在爬虫开始工作并完成任务 🍺

您可以在以下章节中继续阅读文档:《安装》、《配置》、《命令》、《数据库》或《贡献》。

文档

完整的详细文档可以在 Gerrie @ Read the Docs 找到。该文档使用 reStructuredText 编写,与源代码一起发布,并可在 docs/ 文件夹中找到。

源代码

源代码可以在 andygrunwald/Gerrie @ GitHub 找到。

贡献

随时欢迎贡献。

贡献不仅限于源代码。还包括文档、问题(错误、新功能、改进)、用户组或会议上的演讲等。在我们的文档中可以找到有关贡献的更详细信息。

请参阅 Gerrie: Contribution @ Read the Docs

许可证

本项目根据 MIT 许可证 发布。

支持、联系或反馈

如果您有任何问题、反馈、对设置或使用此项目感到疯狂,或者想喝一杯 🍺 并谈论此项目,请 直接联系我

给我发电子邮件(见 Andy @ GitHub)或发推文给我(@andygrunwald)。当然,您也可以在 Gerrie 跟踪器 中创建一个问题。