Skip to main content

用于管理大量 GitHub 存储库的 CLI 工具

项目描述

RepoBee 徽标

构建状态 代码覆盖率 文件状态 派皮版本 支持的 Python 版本 支持的平台 执照 代码风格:黑色

概述

RepoBee 是一个命令行工具,允许教师和助教使用 GitHub、GitLab 和 Gitea 平台(云和自托管)上的大量学生 Git 存储库。原型用例是基于模板存储库自动创建学生存储库,模板存储库可以包含例如指令和框架代码。给定任意数量的模板存储库,只需一个命令即可为每个学生或小组创建一个副本 。RepoBee 还具有 更新学生存储库批量克隆学生存储库打开、关闭和列出问题无盲双盲 同行评审等功能!

此外,RepoBee 具有强大的 插件系统,允许用户使用现有插件或 编写自己的. 插件可以做很多事情,包括使 RepoBee 与多个托管平台(GitHub、GitLab、Gitea)兼容,提供与 GitHub Classroom 管理的存储库的兼容性,或者在克隆的学生存储库上运行 JUnit4 测试类。

仍然不太确定 RepoBee 究竟做了什么?下面的演示视频简要解释了一些最重要的概念,并展示了如何使用 RepoBee 来设置和克隆学生存储库,以及如何编写一个简单的插件。

https://user-images.githubusercontent.com/14223379/121573132-2d725380-ca25-11eb-8aa0-8f50ac3f28f0.mp4

使用 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

项目详情


发布历史 发布通知| RSS订阅