Continuous integration (CI) helps automate testing and standardization to ensure code quality in collaborative projects. Using tools like GitLab CI, teams can save time by automating tasks such as testing new features, enforcing code style, and adding license information.
What is continuous integration and why do we need it? Figure the following scenario:
A team of scientists is working on a little project that takes astronaut data from Wikidata to analyse the time humans spent in space as well as the age distribution of the astronauts. The project quickly gained attraction and a lot of users as well as contributors joined the project. After some time it became hard for the maintainers to ensure new functionality is properly tested. It also frequently happened that contributors followed a different code style or forgot to add license information.Verifying those criteria manually is tedious and not promising in the long run. This is why the team aims at automating as much as possible to save their valuable time. Luckily, they found a tool called GitLab CI which they can use to automate those tasks.
The following contents await you during the four course days:
Day 1: Containerized solutions can be helpful in the testing stage of continuous integration. This day will focus on how to use containerized solutions for scientific projects using Docker as an example.
Day 2: With continuous integration in GitLab, you can automate the building, testing, and deploying of your code. This day will focus on creating an initial GitLab CI pipeline.
Day 3: Building on day 2, you will learn advanced concepts of GitLab CI useful for optimizing the pipeline.
Participants should make sure that they can log in to codebase.helmholtz.cloud via the Helmholtz ID before participating in the workshop.
Learning goals
By the end of the course, you will be able to
- Understand the basic concepts of containerization
- Perform basic operations with Podman or Docker
- Understand the concepts of Continuous Integration
- Implement your own CI pipeline using GitLab CI
- Apply advanced optimization techniques for your GitLab CI pipeline
Course date
Register now:
For more information on how to register, please follow the link on the course date.
Prerequisites
Participants should have basic programming skills, be familiar with the basic operations of Git, and GitLab (taught in the course “Introduction to Git & GitLab”) and already have made some initial experience with a Unix-shell (taught in the course “Kickstart Shell & Git”). No further software needs to be installed.
Target group
- Research Software Engineers
- Scientists who code
- Scientists who want to make use of automization
- Everyone else who wants to get started with Continuous Integration
This course is free of charge.