Merge branch 'course-refactor' into 'master'

Course refactor

See merge request !40
5 jobs for v2.1.7 in 18 minutes and 3 seconds (queued for 2 seconds)
latest
Status Job ID Name Coverage
  Test
passed #8072
test

00:02:42

 
  Build
failed #8076
build

00:15:20

failed #8075
build

00:16:03

failed #8074
build

00:16:20

failed #8073
build

00:15:33

 
Name Stage Failure
failed
build Build
2019/02/10 22:24:26 existing blob: sha256:b59856e9f0abefedc34fcefc3f57c4955cc384785663745532ddc31a89641c83
2019/02/10 22:24:26 existing blob: sha256:55cbf04beb7001d222c71bfdeae780bda19d5cb37b8dbd65ff0d3e6a0b9b74e6
2019/02/10 22:24:26 existing blob: sha256:1bdbb8608211fa2cd184c5498d685afb25263e9a9342eb65b588636b51a81c96
2019/02/10 22:24:26 existing blob: sha256:c8e2cea26463f58bad4bc7fa7d356adaf45a3bce2cbcae63be679e18793ea09d
2019/02/10 22:24:26 existing blob: sha256:0dfbce878a1d34e265adf3827d2893800373e71c352f97f540630d11431bb6c3
2019/02/10 22:24:26 existing blob: sha256:c8b5422da27f77dc69c36356babd0d3518c3cdca04c782729a649ed044a3e0e6
2019/02/10 22:24:26 existing blob: sha256:1607093a898cc241de8712e4361dcd907898fff35b945adca42db3963f3827b3
error pushing image: failed to push to destination registry.srct.gmu.edu/srct/schedules/api:v2.1.7: UNAUTHORIZED: "authentication required"
ERROR: Job failed: exit code 1