1st Project w/ GitLab
Date: May 24, 2025
By: Chester Nwachukwu
Agenda
Learning Objectives
GitLab Overview
Core components Understand GitLab's core functionanlity
Project Setup Process Create and configure GitLab project
o Create GitLab Project
Set up repository with initial files
o Repository Setup/Config
o CI/CD Pipeline Config Configure CI/CD pipelines
o Running and Debugging Pipelines
Debug pipelines
Live Demo
Review/Q&A
Conclusion
GitLab Overview
Integrated DevOps Platform
Unified Permissions Model
Streamlined Workflow
Increased Collaboration
Source Code Management Issue Tracking
Git repos w/ web UI Project management & workflow
CI/CD Pipeline Review Apps
Automate build/test & deployment Dynamic environments/app testing
New GitLab Project
Alternate Project Setup
Repository Essentials .gitignore usecase
Integrated DevOps Platform
Unified Permissions Model
Streamlined Workflow
Increased Collaboration
License Selection
Integrated DevOps Platform
Unified Permissions Model
Streamlined Workflow
Increased Collaboration
CI/CD Pipeline Workflow .gitlab-ci.yml Components
stages:
- build
- test
- deploy
build:
stage: build
image: node:20
script:
Key CI/CD Concepts - npm ci
- npm run build
Pipeline Stages test:
Logical grouping of jobs executed in sequence stage: test
image: node:20
script:
Jobs - npm ci
Individual units of work with specific scripts - npm test
deploy:
Runners stage: deploy
Machines that execute CI/CD jobs on various platforms image: node:20
script:
- echo "Deploy step here"
Artifacts
Files generated during jobs for later use
Running Pipelines
Debugging Pipelines
Job Logs Troubleshooting Common Issues
Runner Issues
Increase memory limits in runner config, validate runner tags
Job Timeout
Adjust timeout setting in CI/CD config
Configuration Errors
Validate .gitlab-ci.yml syntax w/ CI lint tool
Authentication Errors
Check CI/CD variables in project settings
Missing Dependencies
Review dependencies file i.e package.json/requirements.txt
Demo Objectives
Milestones Learning Objectives
Create a project from scratch
Create and configure GitLab project
Setup project details, visibility, and initial configuration
Set up repository with initial files
Add initial files to repository
README, .gitignore, license, and initial code
Configure CI/CD pipelines
Configure CI/CD pipeline
Create .gitlab-ci.yml w/ build, test, and deploy stages Debug pipelines
Run successful pipeline
Review job logs and verify success
Demo Review & Key Takeaways
Process Completed Learning Objectives
Project successfully created
Create and configure GitLab project
Configured visibility, README, and license options
Set up repository with initial files
Repository Initialized
Created .gitignore, README.md, and repository directory
Configure CI/CD pipelines
CI/CD Configured
Created .gitlab-ci.yml w/ build, test, and deploy stages Debug pipelines
Executed successful pipeline
All stages executed successfully
Questions & Discussion
Support Resources
GitLab Documentation
docs.gitlab.com
GitLab Forum
forum.gitlab.com
GitLab Learn
learn.gitlab.com
Conclusion & Next Steps
Key Benefits Next Steps
Complete DevOps Platform Expand Your Project
Single application for the entire DevOps lifecycle Add team members and configure permissions
Integrated CI/CD Advanced CI/CD Features
Seamless automation from code to production Multi-stage pipelines and environment deployments
Team Collaboration Security Integration
Enhanced visibility and workflows across teams SAST, DAST, dependency, and container scanning