Demo: CI/CD with GitLab


Product Manager Joshua Lambert shows how easy it is to set up a new project with CI/CD in GitLab, helping you to ship better features, faster.

Learn more about Continuous Integration, Delivery and Deployment with GitLab –

GitLab CI/CD is available on GitLab Community Edition (CE) and GitLab Enterprise Edition (EE).

Try GitLab EE ( FREE for 30 days, no credit card required –

Want to know more about GitLab?

GitLab License FAQ –

Questions? –


Previous articleAzure DevOps Pipelines Tutorial – Continuous Integration
Next articleHow to host your own GitHub Actions pipelines


  1. Joshua, skip chitchat and "jokes" next time, and focus on topic, please. The important things – you click fast and switch to next steps – it's hard to follow. Zero explanation on .gitlab-ci.yml content. Then you stop on your "jokes" about "Hello world", which is a waste. "Eating your own dog food", remember? Thanks for the lesson.

  2. Hi, I'm trying to send mail using postfix installed on a private gitlab-runner in the gitlab cloud and smtp configured. The problem is I'm not able to run
    – mail -a "Content-type: text/html" -s "Snyk Code Review – $CI_COMMIT_TITLE" $GITLAB_USER_EMAIL < snyk_results.html
    When it is

    – 'mail -a "Content-type: text/html" -s "Snyk Code Review – $CI_COMMIT_TITLE" $GITLAB_USER_EMAIL < snyk_results.html'
    It gets skipped. Any ideas ?

  3. The mainstream issue with CI/CD is that the entire pipeline that this is built around revolves around Docker and Kubernetes or K3s. CI/CD uses this Dockerfiles to generate test environments so the system can build you code and check for errors. Then return this error or success state to the dashboard. Then based on the result do something, like maybe merge a branch or create a issue note.

    So I agree that the learning curve of getting into CI/CD is steep, and i disagree with Gitlabs that this is Novice level of config for a CI/CD env. I do however understand that it is Novice based on the entire idea of CI/CD. I also understand that many people just want a click and drag experience. But CI/CD is currently not there yet.

    Best we can do is to "rebuilt" the entire CI/CD idea to generate a easier experience for novice developers that want a easy way of interacting with Kubernetes and Docker. The only issue with that is possibility for custom test conditions. Maybe there will be a way. But right now CI/CD is built and run like this, using Dockerfiles and Cluster tech to leverage process power.

    This video was a good effort, with low understanding of the outsiders background within CI/CD and Code testing.
    It would be better if the developer could take a step back and put himself in the shoes of us. To place understandable explanations to allow better acceptance and understanding for us novice developers.

  4. Came here looking for an explanation of how the .gitlab-ci.yml file works. We see the file for about 1-minute, but no real explanation of its contents and how it affects what happens. While I appreciate seeing how to use the merge-request flow, I would like to know how to setup one of these yml files in my environment and customize its behavior. I've been struggling to find an appropriate tutorial for that.

  5. This video is very misleading. You show a Dockerfile but no explanation about how the gitlab-ci.yml file actually uses it. All the build stage does is run "command build". What the hell is that?? I hate it when they gloss over important details like that.