Continuous Integration and Containers
Contents
Continuous Integration and Containers#
Continuous integration (CI) and containerization play a key role in software sustainability and reproducibility. Especially in the field of research, incorporating such practices deliver many advantages thereby increasing the quality of software development. In this workshop, we teach you to create a CI pipeline for a software project and also wrap your software dependencies in a container image using Docker.
Learning Materials#
Workshop slides: (
download
)
Learning Objectives#
We answer common questions like:
How do we start with Containerization and CI?
How to use containers in a CI pipeline?
How to publish my container images?
And when you’re done you’ll be able to:
Create a Docker image using Docker and host the image in GitLab
Establish a CI pipeline in your own GitLab project
Incorporate tests in a CI pipeline
Get an impression of an in-house code’s CI pipeline and containerization approaches
Agenda#
Part 1 | Containerizations
Introduction to containerization using Docker
Hands-on session to build and publish a custom Docker image
Hands-on session to develop codes in containers using Visual Studio Code
Part 2 | Continuous Integration
Introduction to CI using GitLab
Hands-on session to create a generic CI pipeline
Hands-on session to manage pipeline artifacts and code coverage test metrics
Part 3 | Demonstration of an in-house code’s CI pipeline and containerization approaches