CSCI 265: gitlab or github for team projects

Your team repositories can be maintained on either github or the csci gitlab (gitlab.csci.viu.ca). An overview of the requirements for each is provided below.

Whichever platform you choose, make sure


If you choose gitlab

We'll hopefully have the individual gitlab accounts set up late in the second week of term, though there may be some delay for students who register in the course after the first day of term.

Have each team member sign in to gitlab (gitlab.csci.viu.ca) using their VIU username (typicallly your student number) and password. (Not your computer science/linux username/password.) Once everyone has signed in to gitlab at least once your team gitlab lead will be able to invite them to the project (see next step below).

Choose someone to oversee your team gitlab repo. Have that person create the team project and invite each team member to the project, and have them invite the course instructor to the project.
In the left sidebar you can find "project information", and within that there is an "Invite members" option. Clicking in the email address should trigger a drop-down list of everyone you can invite. If users have updated their profile information then this list will show their name, otherwise (default) it just lists by student number. The course instructor's email should also be visible in the list, and should be added as a "guest" for internal projects or "reporter" for private projects.

Initially I would recommend all team members become familiar with the use of the web IDE to access project content. Through the ide you can upload content, create new files/directories, perform commits, etc. I'd recommend each person create a totally experimental/toy project of their own, unrelated to the project, to use as a place for experimentation with the different features of the ide.

Cautionary note:
As this is only the second time we've made the csci gitlab server available for team projects we expect some technical hiccups over the term. Please let us know if you run into problems or load/performance issues, or if there are useful features we haven't currently enabled/supported.

One key concern is that the system currently backs up to the same physical machine as gitlab is currently running on, which will be problematic if that machine encounters a significant hardware failure. If you have cloned working copies of your repo on the cubs/pups (or your own machine) that would be a useful safeguard!

Cloning/pushing from the cubs/pups (using sshkeys):
In addition to the web ide, you can also clone your gitlab repos to your csci linux accounts, and add/commit/push/etc from the cubs/pups.

To do so, on gitlab you'll first need to set up sshkey access (effectively telling gitlab which accounts/machines you're permitting to access your project content).

The command to clone from the cubs/pups will have the form
git clone git@github.csci.viu.ca:userid/reponame.git
You can see the URL from your gitlab project page by looking under the clone v button on the upper right of the page.


If you choose github

The setup/maintenance of your github repo is left under control of the team, but ensure that (i) all team members have access, and (ii) provide the course instructor with guest access. The instructor's username for github is DaveWesselsVIU (under the David.Wessels viu email address).

Individual experimentation with gitlab

Aside from the team project, you are all encouraged to experiment with gitlab and the various features/functionality it provides