Add README.md

This commit is contained in:
Tim Schubert 2018-05-30 21:36:49 +02:00
parent 8b2dc2f090
commit 2da8e5c123

50
README.md Normal file
View file

@ -0,0 +1,50 @@
# The Abgabesystem
## Setup
1. Generate a deploy key and an API token.
2. Set up container images and runners.
- [checkstyle]()
- [abgabesystem]()
3. Create a group for you course and add all administrative users to it.
4. Clone [abgabesystem]() as a private project of that group and add
SSH_PRIVATE_KEY and PRIVATE_API_TOKEN to the private variables.
5. Edit [config.yml]() to include the name of the student list, your public
deploy key and the name of the course.
6. Export student list from StudIP and add it to the project.
7. wait for ci jobs to finish....
Recommended settings for gitlab.rb
```
gitlab_rails['gitlab_default_can_create_group'] = false
gitlab_rails['gitlab_default_projects_features_container_registry'] = false
# see gitlab documentation and add your ldap config
gitlab_rails['ldap_enabled'] = true
# if you don't have TLS otherwise
letsencrypt['enable'] = true
```
Also, you should
- set the default project limit for each user to 0 and
- set default settings for projects to partially protected so that developers
can not force push tag and commits to protected branches (master)
## Workflow
To trigger the deadline of an exercise (e.g. Sunday at 15:00), push a tag
(e.g. ex1) to the cloned Abgabesystem project. The Abgabesystem's CI jobs
creates a tag of this name inside each student's project and then proceeds
by creating a checkout of each project's repository and running [JPlag]() to
check for plagiates. The results can be found inside the job artefacts for the
CI job that is run for the tag. The results are saved for each tag and can be
downloaded as an archive.