GitLab CI/CD Examples

This page contains links to a variety of examples that can help you understand how to implement GitLab CI/CD for your specific use case.

Examples are available in several forms. As a collection of:

CI/CD examples

The following table lists examples with step-by-step tutorials that are contained in this section:

Use case Resource
Browser performance testing Browser Performance Testing with the Sitespeed.io container.
Deployment with Dpl Using dpl as deployment tool.
GitLab Pages See the GitLab Pages documentation for a complete example of deploying a static site.
End-to-end testing End-to-end testing with GitLab CI/CD and WebdriverIO.
Load performance testing Load Performance Testing with the k6 container.
Multi project pipeline Build, test deploy using multi project pipeline.
npm with semantic-release Publish npm packages to the GitLab Package Registry using semantic-release.
PHP with Laravel, Envoy Test and deploy Laravel applications with GitLab CI/CD and Envoy.
PHP with npm, SCP Running Composer and npm scripts with deployment via SCP in GitLab CI/CD.
PHP with PHPunit, atoum Testing PHP projects.
Secrets management with Vault Authenticating and Reading Secrets With HashiCorp Vault.

Contributed examples

You can help people that use your favorite programming language by submitting a link to a guide for that language. These contributed guides are hosted externally or in separate example projects:

Use case Resource
Clojure Test a Clojure application with GitLab CI/CD.
Game development DevOps and Game Development with GitLab CI/CD.
Java with Maven How to deploy Maven projects to Artifactory with GitLab CI/CD.
Java with Spring Boot Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD.
Parallel testing Ruby & JS GitLab CI/CD parallel jobs testing for Ruby & JavaScript projects.
Python on Heroku Test and deploy a Python application with GitLab CI/CD.
Ruby on Heroku Test and deploy a Ruby application with GitLab CI/CD.
Scala on Heroku Test and deploy a Scala application to Heroku.

CI/CD templates

Get started with GitLab CI/CD and your favorite programming language or framework by using a .gitlab-ci.yml template.

When you create a gitlab-ci.yml file in the UI, you can choose one of these templates:

If a programming language or framework template is not in this list, you can contribute one. To create a template, submit a merge request to the templates list.

Adding templates to your GitLab installation

You can add custom examples and templates to your self-managed GitLab instance. Your GitLab administrator can designate an instance template repository that contains examples and templates specific to your organization.

Other resources

This section provides further resources to help you get familiar with various uses of GitLab CI/CD. Note that older articles and videos may not reflect the state of the latest GitLab release.

CI/CD in the cloud

For examples of setting up GitLab CI/CD for cloud-based environments, see:

See also the following video overviews:

Customer stories

For some customer experiences with GitLab CI/CD, see:

Getting started

For some examples to help get you started, see:

Implementing GitLab CI/CD

For examples of others who have implemented GitLab CI/CD, see:

Migrating to GitLab from third-party CI tools

Integrating GitLab CI/CD with other systems

To see how you can integrate GitLab CI/CD with third-party systems, see:

Mobile development

For help with using GitLab CI/CD for mobile application development, see: