Course Outline
Day 1
Introduction
- DevOps - newspeak or a key role in IT projects?
- Why GitLab CI/CD?
- GitLab vs. other CI/CD systems (CircleCI, Travis, TeamCity)
Preparing for launch
- Architecture and logic of the solution including: GitLab / GitLab Runner
- System and hardware requirements
- Installing GitLab and GitLab CI
- Initial configuration GitLab: design, users, integrations, preparation for launching the first Continuous Integration
API tuning and preparation
- Optimizing settings GitLab / GitLab CI: tips'n'tricks
- Preparing API for use in trigger mechanisms
First CI/CD process
- Installation GitLab CI Runner, system and hardware requirements
- Configuring the project to connect to GitLab CI
- Starting a typical process: build -> test -> deploy
Day 2
Construction of the .gitlab-ci.yml configuration file
- Practical examples of concepts:
- Environments & deployments
- Protected environments
- Job artifacts
- Deploy via Docker
- Variables that can be used in the YML configuration file
- Logical constructions: only, except, when, alllow_failure, dependencies, retry
Trigger pipeline: how to trigger tasks via API?
How GitLab CI makes developers' lives easier
- Calculation of % test coverage
- Status of builds in MarkDown documents
- Sending build statuses in messenger (Mattermost example)
Advanced capabilities GitLab CI
- AutoDevOps
- Clusters Kubernetes
- Deploy boards
- ChatOps
- Web terminal
Live case study
- build, test & deploy for a project based on PHP/Magento, running in a multi-server environment, assuming zero downtime during deployment.
Requirements
Basic ability to use GIT
Basic programming skills, e.g. in PHP.
Testimonials (5)
Trainer has in depth experince and well narreated in deed. The depth of the knowledge and the passion for teaching is highly appriciated.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Course - Jenkins 2: Building CI/CD Pipelines
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
Course - DevOps Practical Implementation and Tools
Było dużo kwestii technicznych, the trainer possessed extensive knowledge and was very well-prepared in terms of content.
Marcin Cuch - mikroBIT
Course - Gitlab and Gitlab CI
Machine Translated
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
Course - Advanced Spinnaker
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.