Defining the terms pipeline, CI, and CD
Since much of the power of GitLab comes from configuring CI/CD pipelines to do various things to and with your code, it’s critical to understand what a pipeline even is. So, an obvious place to start a discussion of this topic is to figure out exactly what we mean by pipeline, CI, and CD. We won’t start creating pipelines yet—that will come in a later chapter.
Understanding what a pipeline is
A GitLab CI/CD pipeline is a series of steps that are performed on your files whenever you commit edits to the GitLab-hosted copy of a repository. A lot is going on in that sentence, so let’s take a more careful look at each part of it.
What do we mean by “a series of steps”? You can think of these steps as tasks that are performed on your files. For example, you may want to run various tests or scanners on your files to make sure your code is well-written, is free from security vulnerabilities, uses appropriately...