用于管理大量 GitHub 存储库的 CLI 工具
项目描述
概述
RepoBee 是一个命令行工具,允许教师和助教使用 GitHub、GitLab 和 Gitea 平台(云和自托管)上的大量学生 Git 存储库。原型用例是基于模板存储库自动创建学生存储库,模板存储库可以包含例如指令和框架代码。给定任意数量的模板存储库,只需一个命令即可为每个学生或小组创建一个副本 。RepoBee 还具有 更新学生存储库、 批量克隆学生存储库、 打开、关闭和列出问题、 无盲和 双盲 同行评审等功能!
此外,RepoBee 具有强大的 插件系统,允许用户使用现有插件或 编写自己的. 插件可以做很多事情,包括使 RepoBee 与多个托管平台(GitHub、GitLab、Gitea)兼容,提供与 GitHub Classroom 管理的存储库的兼容性,或者在克隆的学生存储库上运行 JUnit4 测试类。
仍然不太确定 RepoBee 究竟做了什么?下面的演示视频简要解释了一些最重要的概念,并展示了如何使用 RepoBee 来设置和克隆学生存储库,以及如何编写一个简单的插件。
使用 RepoBee 和编写一个简单插件的短视频演示。如需此演示的更高质量版本,请单击此链接!
功能亮点
RepoBee 有很多工作要做。以下是我们最引以为豪的一些事情:
- 与 GitHub、GitLab 和 Gitea 兼容:无平台锁定!
- 支持小组作业(每个存储库多个学生)
- 直接在托管平台上进行无盲和双盲同行评审
- 基于模板生成、克隆和更新学生存储库
- 打开、关闭和列出问题
- 使用插件系统扩展和定制 RepoBee
- Git服务平台端只需要很少的配置
- 唯一的要求是拥有一个具有私有存储库功能的组织/组!
- 无需本地配置
- 虽然 强烈建议设置一些默认值
有关 RepoBee 的内置(即非插件)功能的完整列表,请参阅 用户指南和 CLI 参考。
入门
首先,安装 RepoBee或获取Docker 映像。然后,开始探索Docs,您(除其他外)将在其中找到用户指南。它通过实际示例介绍了 RepoBee 的各种命令的使用,并且应该让您毫不费力地走上正确的道路。
我们还提供了一个Gitea 测试实例,用于在没有任何后果的环境中使用 RepoBee。有关如何将 RepoBee 与 Gitea 一起使用的详细信息,请参阅 RepoBee Gitea 文档。
安装
我们提供了一个安装脚本,可以为 RepoBee 设置一个隔离且正确配置的环境,前提是您已安装 Python 3.7+ 和 Git。该脚本支持 macOS、Linux 和适用于 Linux 的 Windows 子系统 (WSL)。curl您可以使用,bash或直接执行它zsh。
重要提示:如果您使用除 bash 或 zsh 之外的任何其他 shell,您仍必须使用其中之一执行安装脚本。
$ bash <(curl -s https://repobee.org/install.sh)
$ zsh <(curl -s https://repobee.org/install.sh)
有关其他详细信息,请参阅安装文档。
码头工人
我们提供了一个功能齐全的 Docker 镜像 ,可以用来代替安装 RepoBee。
版本控制
截至 2018 年 12 月 17 日,RepoBee 的 CLI 是一个稳定版本,并遵循 Semantic Versioning 2.0.0。RepoBee 的内部不遵守此版本控制,因此不建议使用 RepoBee 作为库。
从 RepoBee 3.0 开始,插件系统大部分是稳定的,但由于不可预见的问题,存在轻微的损坏风险。如果您开发插件,请与我们联系,以便在插件系统中引入重大更改时可以考虑。
执照
该软件根据 MIT 许可证获得许可。有关详细信息,请参阅LICENSE 文件。
在学术环境中引用 RepoBee
如果您想在论文中引用 RepoBee,请引用以下论文:
西蒙·拉森和理查德·格拉西。2019. RepoBee:使用 Git/GitHub 为课程开发工具支持。在 2019 年 ACM 计算机科学教育创新与技术会议 (ITiCSE '19) 的论文集中。ACM,纽约,纽约,美国,534-540。DOI:https ://doi.org/10.1145/3304221.3319784