Two-Day Hands-on GitLab Course: SVN Migration, CI/CD, and Operations
Designed a two-day, 14-hour hands-on course on SVN migration and GitLab CI/CD for a research organization that had been using SVN. Built the lecture materials and a dedicated lab environment, and delivered the course as lead instructor.
Curriculum
Day 1: GitLab Foundations and SVN Migration
- Git and GitLab essentials for SVN users: concept mapping, clone, commit, and push, branches, and the basic merge request flow
- Collaboration workflow: merge-request-centered collaboration and branching strategy, pair code review, protected branches, and issue boards
- Migrating from SVN to GitLab: what to decide before migrating (history scope, branch and tag mapping, cutover approach), author mapping, post-migration history checks, and a demo of splitting large repositories and LFS
- Organization structure and accounts: group and subgroup design, role-based permissions and inheritance, membership expiration, and how SSO login integration works
Day 2: CI/CD in Practice and Operations
- First CI/CD pipeline: how stages, jobs, and runners work, writing .gitlab-ci.yml, separating build and test, artifacts and caching, and tracing failures through job logs
- Production-style pipelines: merge request test gates, per-environment and manual deployments, scheduled pipelines, documentation publishing with GitLab Pages, and a team mini-project
- Enterprise operations: hands-on runner registration and tag usage on students' laptops, plus demos of backup, patch upgrades, and audit logs