Add updated documentation and tests
This commit is contained in:
parent
bd910e09e0
commit
5576b58949
15 changed files with 63 additions and 29 deletions
63
doc/notes.md
Normal file
63
doc/notes.md
Normal file
|
@ -0,0 +1,63 @@
|
|||
# Programmieren [1,2] Gitlab
|
||||
|
||||
- https://docs.gitlab.com/omnibus/README.html
|
||||
|
||||
## Authentication
|
||||
|
||||
- use GITZ LDAP for login
|
||||
- not allow "create new repo"
|
||||
|
||||
|
||||
## Structure
|
||||
|
||||
- main repo
|
||||
+ publish example solutions
|
||||
+ CI config for checkstyle
|
||||
+ Protected Runner for JPlag
|
||||
+ restrict access to branches with example solutions
|
||||
|
||||
- student repos
|
||||
+ forked from main repo
|
||||
+ one repo per student
|
||||
+ student has *Developer* Access
|
||||
+ *tutors* group has *Master* access
|
||||
+ students can request access (Abgabepartner)
|
||||
+ *tutors* can grant access
|
||||
|
||||
## Checkstyle
|
||||
|
||||
- GitLab CI
|
||||
- [Docker](https://docs.gitlab.com/omnibus/docker/README.html)container
|
||||
- [Shared Runner](https://docs.gitlab.com/ce/ci/runners/README.html)
|
||||
- restrict Container to [checkstyle](http://checkstyle.sourceforge.net/)
|
||||
- disable internet access for container
|
||||
|
||||
## JPlag
|
||||
|
||||
- Deadline [at,cron]job or schedule via gitlab
|
||||
- triggers [Protected Runner](https://docs.gitlab.com/ee/ci/runners/README.html#protected-runners)
|
||||
- creates automatic protected TAG in each repo
|
||||
- checks out TAG from all repos into /tmp and runs [JPlag](https://jplag.ipd.kit.edu/)
|
||||
- replace with MOSS? https://github.com/soachishti/moss.py
|
||||
- deploy key in each repo
|
||||
|
||||
## (optional) sync script
|
||||
|
||||
- (one-way) sync students and groups from [Stud.IP REST API](http://docs.studip.de/develop/Entwickler/RESTAPI) to [Gitlab REST API](https://docs.gitlab.com/ce/api/)
|
||||
|
||||
# Replicate (TODO: ansible playbook)
|
||||
|
||||
- install gitlab
|
||||
- install docker
|
||||
- copy gitlab.rb
|
||||
- partially protected
|
||||
- default project limit = 0
|
||||
- shared runner for checkstyle
|
||||
|
||||
- protected runner for
|
||||
|
||||
+ setting protected tags
|
||||
+ running jplag
|
||||
|
||||
- script for creating repos and groups
|
||||
- SSH deploy key
|
Loading…
Add table
Add a link
Reference in a new issue