GitlabGITLABOFF_CICD
GitLab CI/CD Training
GitLab CI/CD training: streamline builds, tests & deployments with practical pipelines to deliver faster and improve code quality.
1 day / 7h
Course overview
This foundational class delves into the world of Continuous Integration, Continuous Delivery, and Continuous Deployment (CI/CD), empowering learners to streamline software development practices and deliver high-quality applications efficiently. Through hands-on labs and real-world scenarios, participants will gain end-to-end practice in the process of creating and running CI/CD pipelines within GitLab. This one-day session covers the fundamental structure of implementing CI/CD with GitLab and applying these concepts through building, testing, and deploying a sample application. Participants will explore strategies for troubleshooting issues, evaluating pipeline configurations, and incorporating best practices to promote code reusability and maintainability. By the end of the session, participants should have the skills to design, implement, and manage CI/CD pipelines for common project requirements, enabling faster time-to-market, improved collaboration, and enhanced software quality.\n\nGitLab CI/CD Training covers some features that are available in all three GitLab pricing tiers (Free, Premium, and Ultimate), some features that are only available in Premium and Ultimate, and a small number of features that are only available in Ultimate.
Learning outcomes
- Understand the fundamental structure of implementing CI/CD with GitLab.
- Apply CI/CD principles through building, testing, and deploying a sample application.
- Explore strategies for troubleshooting issues and evaluating pipeline configurations.
- Incorporate best practices to promote code reusability and maintainability.
- Design, implement, and manage CI/CD pipelines for common project requirements.
- Enable faster time-to-market, improved collaboration, and enhanced software quality.
Target audience
Development teams, quality assurance teams, release engineers
Prerequisites
- Topics covered in the GitLab Fundamentals course or equivalent experience with GitLab.
- This class is not appropriate for students with no Git or GitLab knowledge.
- Computer with internet access and Git installed
Course Outline
Module 01: CI/CD Fundamentals
- What is CI/CD
- Implementing CI/CD with GitLab Flow
- Introduction to .gitlab-ci.yml and runners
Module 02: Lab Setup
- GitLab demo environment overview
- Session authentication
Module 03: Building a Simple Application
- Selecting the best image for your pipeline
- Overview of artifacts
- Producing an artifact of the binary
- Using before_script for build dependencies
Module 04: Merging Changes
- Overview of branch, merge request, and merged results pipelines
- Enabling MR pipelines
- Configuring conditional merge request pipelines
- Differentiate between workflows and pipeline rules
- Viewing a merged results pipeline
Module 05: Testing a Simple Application
- Define test jobs in merge requests
- Handling different test types (unit, integration, end to end)
- Using the Allow_failure, Dependencies / needs, and before_script / after_script keywords
- Including a code coverage job
Module 06: CI/CD Components
- Overview of CI/CD components and the catalog
- Using the include keyword for pipeline configuration
- Introduction to security scanning
- Overview of creating and sharing components
- Discuss component versioning
- Add a CI/CD component from the CI/CD Catalog
Module 07: Troubleshooting Strategies
- Common pipeline error messages
- Tips for syntax verification
- Reading job outputs
- Addressing job configuration issues
- Use GitLab Duo for root cause analysis
Module 08: Deploying a Simple Application
- Deployment rules
- Releases
- Managing an environment in the GitLab UI
- Tagging a build for a specific environment
Module 09: Best Practices in CI/CD
- Applying DRY principles such as using YAML anchors
- Utilizing extends, templates, inheritance, caching
- Overview of secret management
Ce cours vous intéresse ?
Does your company need a personalized
offer? Contact us
offer? Contact us