Skip to content

cicvedu/rust-rustlings-semester-4-ranking

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

介绍

该项目可用于快速部署一个 classroom 排行榜网站

其是根据 Github Classroom 里同学们的提交记录,结合 github pages 来生成一个排行网站,可以查看当前每一个作业的完成情况,搜索到自己和其他学生的排名,方便大家更快的了解到课堂的整体进度,提高同学们的参与度,督促自己的成长和进步。

shortcut

如何快速部署

1. Fork 项目

注意在 fork 时,需要将下面的 Owner 设置为 classroom 所在的组织下。

fork

2. 添加环境变量

由于 action 在部署执行过程中会获取作业的最新数据,而更新的方式需要调用 Github APIclassroom 的相关接口,因此需要配置以下两个变量获取访问接口的权限。

2.1 设置 AUTH_TOKEN

a. 首先获取组织中任意 Owner 成员的 Personal access tokens (详细参考)

pat

b. 回到项目 setting 中, 把上一步获取的 Personal access tokens 配置给 action 的环境变量 AUTH_TOKEN

pat

2.2 设置 SESSION_TOKEN

该变量的值是取登录到 classroom.github.com 网站中的 cookie._github_classroom_session 字段

pat

3 打开 workflow 开关

因为项目的 action 中有一个执行定时任务的 workflow, 需要手动开启。 该任务每小时会刷新一次排行榜数据。

fork

为什么需要手动打开 workflow

4. 配置 gh-pages

项目的 setting 中进行 pages 设置

fork

5. 修改配置

在 spider 文件夹下 src/config/index.ts 的相关配置

export const organiztion: string = 'os-autograding';            // 组织
export const fullOrganization: string = '113154735-os-autograding-classroom-a857a2'; // classroom名称
export const assignment = 'oskernel';   // assignment
export const works = ['default', 'main']; // assignment 的不同情况 对应latest.json中的

eg: fullOrganization 要进入 github classroom 后从url 获取

完整的 classroom 名称

config

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 67.0%
  • Less 29.4%
  • HTML 2.2%
  • SCSS 1.4%