GitLab University

GitLab University is the best place to learn about Version Control with Git and GitLab.

It doesn't replace, but accompanies our great Documentation and Blog Articles.

Would you like to contribute to GitLab University? Then please take a look at our contribution process for more information.

Gitlab University Curriculum

The curriculum is composed of GitLab videos, screencasts, presentations, projects and external GitLab content hosted on other services and has been organized into the following sections.

  1. GitLab Beginner
  2. GitLab Intermediate
  3. GitLab Advanced
  4. External Articles
  5. Resources for GitLab Team Members

1. GitLab Beginner

1.1. Version Control and Git

  1. Version Control Systems
  2. Operating Systems and How Git Works
  3. Code School: An Introduction to Git

1.2. GitLab Basics

  1. An Overview of - Video
  2. Why Use Git and GitLab - Slides
  3. GitLab Basics - Article
  4. Git and GitLab Basics - Video
  5. Git and GitLab Basics - Online Course
  6. Comparison of GitLab Versions

1.3. Your GitLab Account

  1. Create a GitLab Account - Online Course
  2. Create and Add your SSH key to GitLab - Video

1.4. GitLab Projects

  1. Repositories, Projects and Groups - Video
  2. Creating a Project in GitLab - Video
  3. How to Create Files and Directories
  4. GitLab Todos
  5. GitLab's Work in Progress (WIP) Flag

1.5. Migrating from other Source Control

  1. Migrating from BitBucket/Stash
  2. Migrating from GitHub
  3. Migrating from SVN
  4. Migrating from Fogbugz

1.6. GitLab Inc.

  1. About GitLab
  2. GitLab Direction
  3. GitLab Master Plan
  4. Making GitLab Great for Everyone - Video - Response to "Dear GitHub" letter
  5. Using Innersourcing to Improve Collaboration
  6. The Software Development Market and GitLab - Video - Slides
  7. The GitLab Book Club

1.7 Community and Support

  1. Getting Help
    • Proposing Features and Reporting and Tracking bugs for GitLab
    • The GitLab IRC channel, Gitter Chat Room, Community Forum and Mailing List
    • Getting Technical Support
    • Being part of our Great Community and Contributing to GitLab
  2. Getting Started with the GitLab Development Kit (GDK)
  3. Contributing Technical Articles to the GitLab Blog
  4. GitLab Training Workshops

1.8 GitLab Training Material

  1. Git and GitLab Terminology
  2. Git and GitLab Workshop - Slides
  3. Git and GitLab Revision

2. GitLab Intermediate

2.1 GitLab Pages

  1. Using any Static Site Generator with GitLab Pages
  2. Securing GitLab Pages with SSL
  3. GitLab Pages Documentation

2.2. GitLab Issues

  1. Markdown in GitLab
  2. Issues and Merge Requests - Video
  3. Due Dates and Milestones for GitLab Issues
  4. How to Use GitLab Labels
  5. Applying GitLab Labels Automatically
  6. GitLab Issue Board - Product Page
  7. An Overview of GitLab Issue Board
  8. Designing GitLab Issue Board
  9. From Idea to Production with GitLab - Video

2.3. Continuous Integration

  1. Operating Systems, Servers, VMs, Containers and Unix - Video
  2. GitLab CI - Product Page
  3. Getting started with GitLab and GitLab CI
  4. GitLab Container Registry
  5. GitLab and Docker - Video
  6. How we scale GitLab with built in Docker
  7. Continuous Integration, Delivery, and Deployment with GitLab
  8. Deployments and Environments
  9. Sequential, Parallel or Custom Pipelines
  10. Setting up GitLab Runner For Continuous Integration
  11. Setting up GitLab Runner on DigitalOcean
  12. Setting up GitLab CI for iOS projects
  13. IBM: Continuous Delivery vs Continuous Deployment - Video
  14. Amazon: Transition to Continuous Delivery - Video
  15. See Integrations for integrations with other CI services.

2.4. Workflow

  1. GitLab Flow - Video
  2. GitLab Flow vs Forking in GitLab - Video
  3. GitLab Flow Overview
  4. Always Start with an Issue
  5. GitLab Flow Documentation

2.5. GitLab Comparisons

  1. GitLab Compared to Other Tools
  2. Comparing GitLab Terminology
  3. GitLab Compared to Atlassian (Recording 2016-03-03)
  4. GitLab Position FAQ
  5. Customer review of GitLab with points on why they prefer GitLab

3. GitLab Advanced

3.1. Dev Ops

  1. Xebia Labs: Dev Ops Terminology
  2. Xebia Labs: Periodic Table of DevOps Tools
  3. Puppet Labs: State of Dev Ops 2016 - Book

3.2. Installing GitLab with Omnibus

  1. What is Omnibus - Video
  2. How to Install GitLab with Omnibus - Video
  3. Installing GitLab - Online Course
  4. Using a Non-Packaged PostgreSQL Database
  5. Using a MySQL Database
  6. Installing GitLab on Microsoft Azure
  7. Installing GitLab on Digital Ocean

3.3. Permissions

  1. How to Manage Permissions in GitLab EE - Video

3.4. Large Files

  1. Big files in Git (Git LFS) - Video

3.5. LDAP and Active Directory

  1. How to Manage LDAP, Active Directory in GitLab - Video

3.6 Custom Languages

  1. How to add Syntax Highlighting Support for Custom Languages to GitLab - Video

3.7. Scalability and High Availability

  1. Scalability and High Availability - Video
  2. High Availability - Video
  3. High Availability Documentation

3.8 Cycle Analytics

  1. GitLab Cycle Analytics Overview
  2. GitLab Cycle Analytics - Product Page

3.9. Integrations

  1. How to Integrate JIRA and Jenkins with GitLab - Video
  2. How to Integrate Jira with GitLab
  3. How to Integrate Jenkins with GitLab
  4. How to Integrate Bamboo with GitLab
  5. How to Integrate Slack with GitLab
  6. How to Integrate Convox with GitLab
  7. Getting Started with GitLab and Shippable CI

4. External Articles

  1. 2011 WSJ article by Marc Andreessen - Software is Eating the World
  2. 2014 Blog post by Chris Dixon - Software eats software development
  3. 2015 Venture Beat article - Actually, Open Source is Eating the World

5. Resources for GitLab Team Members

Some content can only be accessed by GitLab team members

  1. Support Path
  2. Sales Path (redirect to sales handbook)
  3. User Training
  4. GitLab Flow Training
  5. Training Topics
  6. GitLab architecture for noobs
  7. Client Assessment of GitLab versus GitHub