GitLab DevOps Workflow Lab
Overview
The GitLab DevOps Workflow Lab provides a hands-on experience to learn how to set up and manage a GitLab project while implementing DevOps practices. Participants will work with technologies such as Flask for application development, Docker for containerization, and GitLab for CI/CD pipelines. This lab combines collaborative workflow strategies (issues, branches, and merge requests) with practical implementation tasks to build a Python-based web application.
Inside This Lab
You'll learn to:
- Set up a GitLab Project: Create and configure a project with proper visibility and documentation.
- Python App Development: Build a simple Flask-based app and manage dependencies using
requirements.txt. - Containerization with Docker: Add Docker and Docker-Compose support for application portability across environments.
- CI/CD Pipeline Creation: Establish automated workflows for building, testing, and deploying the app using
.gitlab-ci.yml. - Project Management: Organize tasks using GitLab features like milestones, labels, boards, and issues.
- Version Control Workflow: Learn branching strategies and implement changes using merge requests.
- Testing and Code Quality: Add unit tests to your application using
pytestand practice reviewing code in GitLab.
This lab is ideal for those with a basic understanding of Git and Python, offering a medium-level challenge to establish a streamlined DevOps workflow.
Key Technologies
- GitLab: Version control, CI/CD, and project management.
- Docker: Application containerization and portability.
- Flask: Lightweight Python web framework for app development.
Benefits
Participants will develop expertise in the DevOps lifecycle, including efficient project collaboration, continuous integration and deployment, and streamlined application management with modern tools.
Feel free to explore each step in this lab to build your confidence in managing and deploying Python-based projects using GitLab's robust capabilities.
Docker
Ubuntu