Skip to content

An interactive Git workshop for the ultimate novice.

License

Notifications You must be signed in to change notification settings

acmfeup/git-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACM git Workshop

An interactive Git workshop for the ultimate novice. You can check it out here.

git

This git workshop was created to run on a distributed JupyterHub instance, where each user has its own computational environments and resources without the burden of installation and maintenance tasks, bringing the power of Jupyter to a group of users at the same time.

Our deployment, due to the required low number of users per instance, used The Littlest JupyterHub (TLJH) in GCP (Google Cloud Platform) and used bash_kernel to enable a Jupyter kernel for bash.

Deployment

Deployment details for TLJH can be found here with the added step of configuring bash_kernel using:

sudo -E pip install bash_kernel
sudo -E python -m bash_kernel.install

The command sudo -E is very important when admin users can install packages since it is required to install within the User Environment, i.e., the conda environment that is shared by all users in the JupyterHub instance.

To allow all users access to the necessary workshop files, one needs to create a folder within /srv/data/, in our case, we cloned this repository.

sudo git clone https://github.com/acmfeup/git-workshop.git

In this case, sudo is required since we are accessing folders only accessible by admins unless you access the server through ssh. After the command above, every user now has read access to the folder, but no easy way of accessing the files. To solve this problem, one only needs to access the user's skeleton directory, and, finally, creating a symbolic link to the required files.

cd /etc/skel
sudo ln -s /srv/data/git-workshop/messy_files messy_files
sudo ln -s /srv/data/git-workshop/workshop.ipynb workshop.ipynb

Lastly, TLJH has the classic Jupyter Notebook interface, however, since, for git, folder and repository management is something very important, JupiterLab is a better alternative due to the visibility of the file system. Thankfully, JupiterLab (along with nteract) are also shipped with TLJH by default. One can try them temporarily, by accessing them through the change of /tree to /lab or /nteract, and, after validation, change the default interface whenever one logins by running the following:

sudo tljh-config set user_environment.default_app jupyterlab
sudo tljh-config reload hub

About

An interactive Git workshop for the ultimate novice.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •