A professional course on GitLab involves curating content that spans from basic to advanced levels, ensuring learners can progress from foundational knowledge to mastering GitLab for real-world applications. Below is an outline for a comprehensive course titled "Project Evolution with GitLab. Code, Collaborate, Create", designed to equip trainees with the skills needed for modern development workflows.
This course is designed to take you on a journey through the essentials of version control with GitLab to mastering Continuous Integration/Continuous Deployment (CI/CD) for efficient software development and deployment. Whether you're a developer, project manager, embedded software or DevOps engineer, this course will equip you with the practical skills needed to leverage GitLab's powerful features for collaborative projects, automated testing, and seamless deployment.
This course structure aims to provide a comprehensive learning path, combining theoretical knowledge with practical, hands-on experience, ensuring participants are well-equipped to use GitLab professionally in their projects and workflows.
* Software Developers* Project Managers* Embedded Software/DevOps Engineers* Anyone interested in learning GitLab for project development and deployment
* 10 Online sessions of 1 hour each
* Every session will be followed-up by an assignment* The course will culminate in a project in any language, being developed using GitHub.
Prerequisites
* Basic understanding of software development concepts* Familiarity with command-line interfaces and Git
Module 1: Introduction to GitLab
Overview of GitLab and its ecosystemSetting up a GitLab accountNavigating the GitLab interfaceIntroduction to version control and GitModule 2: GitLab Repositories
Creating and managing repositoriesGitLab file structure and best practicesBranching strategies and mergingUsing GitLab for collaborative developmentModule 3: Issues, Boards, and Milestones
Issue tracking and managementOrganizing work with boards and milestonesLeveraging labels and tags for project managementBest practices for issue resolution and collaborationModule 4: GitLab CI/CD Fundamentals
Introduction to CI/CD and its importanceConfiguring GitLab RunnersWriting basic .gitlab-ci.yml filesUnderstanding pipelines, jobs, and artifactsModule 5: Advanced CI/CD Techniques
Advanced pipeline configurations for complex workflowsEnvironment and deployment strategiesUsing Docker with GitLab CI/CDMonitoring and optimizing pipeline performanceModule 6: Security and Compliance in GitLab
Integrating security scanning tools (SAST, DAST)Managing vulnerabilities and reportsCompliance and audit featuresBest practices for secure developmentModule 7: GitLab Administration and Customization
User and group managementCustomizing GitLab settings for teamsIntegrating external services and applicationsBackup, restore, and disaster recovery planningModule 8: Real-World Projects and Best Practices
Case studies of successful GitLab projectsEffective collaboration and communication strategiesScaling GitLab for large teams and projectsTips and tricks from industry experts
Online: Utilize platforms like EmbLogic a wider reach.
In-person: Conduct classes in a classroom setting, which is particularly beneficial for hands-on labs and real-time debugging sessions.
Hybrid: Combine online theory sessions with in-person or virtual labs for flexibility and hands-on experience.
Lectures: Online Presentations and lecture notes that cover both theoretical concepts and practical applications.
Hands-On Labs: Design lab exercises and projects that give students hands-on experience in writing, debugging, and testing drivers.
Reading Assignments: Arranged a list of resources, such as Online Notes, kernel documentation and articles on driver development.
Videos: Recorded video and tutorials to demonstrate key concepts and techniques.Discussion Forum: Dedicated forum for questions and discussions
By the end of this course, participants will be able to:* Understand and utilize GitLab for version control.* Efficiently manage projects using issues, boards, and milestones.* Implement CI/CD pipelines for automated testing and deployment.* Apply best practices for security, compliance, and project management.* Leverage GitLab for collaborative software development in real-world scenarios.
EmbLogic™ is an ISO 9001:2008(QMS) (Quality Management System) Certified Company.