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 and the ability to use GitLab to speed up release cycles and improve quality.
- Introduction: Origin of Continuous Integration at ThoughtWorks; widespread adoption; 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 job runners; virtual instance types (shell, Docker, ssh, etc.); tags.
- 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: 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.
|"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."