GitLab CI/CD allows you to trigger your pipeline using the following ways:
- Git Based Triggers
- Webhooks/ Crons
- Manual Intervention Git Based Triggers: The easiest way to trigger CI/CD is to perform any git-based operation such as pushing in a branch, merging pull requests, or creating a tag for which handers are mentioned in gitlab.yaml file. This is the most frequently used and most convenient method to trigger CI/CD.
Webhooks provide a convenient method to trigger CI /CD on demand by making an HTTP post call to specialized urls. This is very useful for event based triggering where webhook can be called whenever a required event occurs
For eg, you can setup a cron to run nightly builds on Gitlab by just hitting curl request on webhook url at the desired interval.
Any other event can be used as long as webhook can be hit in response to the event. Gitlab has a provision where manual intervention by authorized users can be requested to continue the next steps of the job. IN the gitlab.yaml you can mention a part of the pipeline to run only after somebody with access in the team can resume the job from UI.
This feature enables constructing continuous delivery pipelines that we have discussed already. Everything except deployment can be automated and only after the manual intervention, the deployment can take place.