Course length: 1 day
Description: Attendees will learn how to implement their own GitLab-driven CI/CD pipeline.
Intended audience: Understanding of Git and GitLab basics is required.
Take back to work: Mastery of GitLab CI/CD and the ability to use GitLab to speed up release cycles and improve quality.
- Introduction: The origin and benefits of Continuous Integration; how it relates to Agile and DevOps.
- Architecture: GitLab, GitLab CI Multi Runner, ephemeral test environments.
- Definitions: pipeline, stage, job, build, runner, environment, artifact, cache.
- Configuring pipelines: minimum viable pipeline; bells and whistles.
- Setting up runners: Adding and tagging different types of job runners.
- Checking build status: build outcome indicators; build logs.
- Using pipelines: building, testing and deploying code.
- Troubleshooting: checking build logs; enabling CI_BUILD_TRACE; increasing "loglevel"; interactive access to containers.
- Advanced topics: This varies based on client needs but usually includes topics such as: caches and artifacts; selective and conditional builds; triggering builds on other projects; selecting runners; autoscaling runners; using a container registry; auto-testing before merge; reviewing apps in auto-created environments, auto-deploying to Kubernetes and more.
|"I got enough info to be able to start setting up a CI environment.
The hands-on time on an actual computer system was very helpful."
—Don Mies, Systems Architect - Open Source Projects
"The training was great, I was shown the fundamentals of how GitLab works, and shown how to setup and manage automatic deployments of my apps. This allowed me to setup my environment so that when I push my code, an environment in GitLab is created with my website ready for testing."
—Adam B., Web Developer
"Best training we've had so far. Useful and interesting."
"Some of the nuances of this course were outside my skill set, but I absolutely got out of this course what I was hoping: a better understanding of how our office can leverage CI to create a better product more quickly."
"Thanks for the personal attention. I really enjoyed the learning and the day went too quickly."