Setting up a Scientific Software Project using GitLab -- From Zero to Hero


US-RSE Education & Training Seminar Series

US-RSE periodically presents technical talks and tutorials related to Education & Training for RSEs.


The inaugural tutorial of the US-RSE Education & Training Seminar Series will feature Marshall McDonnell who will speak about “Setting up a Scientific Software Project using GitLab: From ‘Zero’ to ‘Hero’.” This event will take place Wednesday, March 22nd at 3 PM ET, 2 PM CT, 1 PM MT, 12 PM PT

Abstract: Managing scientific software projects can be a challenge. It can be hard to know what the top priority tasks are – e.g. new features or bug fixes, and how to align these priorities with deadlines to sponsors or for review committees. It can also be difficult to ensure a high degree of software quality and consistent software engineering practices are used across a team. GitLab offers much more than just version control to help tackle these challenges. This tutorial will start from the basics of GitLab and then build on this by exploring the many additional features available to manage your project. Many of the topics in this tutorial will be directly transferable to GitHub as well.

Learning Objectives: The tutorial will go over repository basics in GitLab, including how to set up a repository group and create a code repository within the group, as well as cloning an existing repository. Next, attendees will be shown how to create issues, set up issue tracking boards, utilize issue templates, and use epics to organize issues. We will then provide an explanation of Continuous Integration (CI), runners, and demonstrate configuring CI pipelines using a GitLab runner. We will also cover using the package and container registries. Attendees will have the opportunity to experiment with using these features during the interactive hands-on exercises, and will have their own instance of the tutorial repository to reference later and share with other developers at their home institution.

Intended Audience: Those interested in setting up a scientific software project on GitLab or those interested to learn the capabilities available on GitLab to help managing a scientific software project. Attendees should have experience with using git.

To follow along with the hands-on portion of the tutorial, please sign up for a GitHub or GitLab account before attending.

Attendees are expected to follow the US-RSE Code of Conduct.


Marshall is a Research Software Engineer in the Application Engineering Group, part of the Computer Science and Mathematics Division at Oak Ridge National Laboratory (ORNL). Previously, he was a postdoc at ORNL in the Diffraction Group for Neutron Scattering Sciences Division helping with user experiments for neutron diffraction experiments. He earned his PhD from the Department of Chemical and Biomolecular Engineering, University of Tennessee doing computational modeling and simulation of transport in polymeric membranes.


You can register on Zoom for this tutorial.