GitLab CI/CD in CMS(SW)

The aim of this module is to learn how to run jobs that require a CMS-specific software stack and how to access protected files in GitLab CI using the GitLab installation at CERN. Participants will run CMS software (CMSSW) jobs as a case study.

Prerequisites

Basic understanding of the purpose of GitLab CI and of its use, as described in the HSF tutorial. Basic understanding of using and developing in CMSSW.

Learning Objectives

After completing this module, participants will be able to:

  • Set up a GitLab CI environment to run CMS software workflows (CMSSW) on CERN infrastructure.
  • Compile and manage CMSSW packages within GitLab CI pipelines.
  • Access protected resources by generating and using grid proxies in CI jobs.
  • Use CMS authentication services to enable secure CI workflows.
  • Run CMSSW jobs for testing in GitLab CI.
  • Build container images to create reproducible CMSSW environments in CI/CD pipelines.

Schedule

Setup Make sure you're all set
00:00 1. Setting up CMSSW in GitLab CI with CernVM File System (CVMFS) Which GitLab runners are needed?
What’s different w.r.t. LXPLUS?
00:20 2. Compiling a CMSSW package How can I compile my CMSSW package using GitLab CI?
How do I add other CMSSW packages?
00:35 3. Obtaining a grid proxy How can I obtain a grid proxy in GitLab?
01:00 4. CAT services for GitLab CI How can I more easily access CMS resources in GitLab CI?
01:25 5. Running a CMSSW job How can I run CMSSW in GitLab CI?
How can I avoid compiling my code for each job?
01:45 6. Building a container image How can I build a container image with my own code in a GitLab CI/CD pipeline?
02:05 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.