andygrunwald / gerrie
Google代码审查工具'Gerrit'的数据爬虫
Requires
- php: >=5.4.0
- kriswallsmith/buzz: 0.13
- symfony/class-loader: 2.6.*
- symfony/console: 2.6.*
- symfony/yaml: 2.6.*
Requires (Dev)
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-14 15:00:52 UTC
README
Gerrie是Google开发的代码审查系统Gerrit的数据和信息爬虫。
Gerrie使用由Gerrit提供的SSH和REST-API将Gerrit的数据转换为RDBMS。目前仅支持MySQL。转换后的数据可以用于执行简单的查询或复杂的分析。一个用例是分析使用Gerrit的社区,如TYPO3、Wikimedia、Android、Qt、Eclipse以及更多。
Gerrie已弃用: watson将替代Gerrie。Watson受益于我们在更大规模(爬取)开发和维护Gerrie方面的经验。请参阅#17获取更多信息。尽管如此,我们仍然合并并支持Gerrie的贡献。
功能
- 完整导入
- 增量导入
- 全面支持SSH API
- 命令行界面
- MySQL作为存储后端
- 调试功能
- 日志功能
- 全面文档化
入门
下载应用程序并安装依赖项
$ git clone https://github.com/andygrunwald/Gerrie.git .
$ composer install
复制配置文件并调整配置(数据库、SSH、Gerrit)
$ 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 跟踪器 中创建一个问题。