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.
Load performance testing Load Performance Testing with the k6 container.
Clojure Test a Clojure application with GitLab CI/CD.
Deployment with Dpl Using dpl as deployment tool.
Elixir Testing a Phoenix application with GitLab CI/CD.
End-to-end testing End-to-end testing with GitLab CI/CD and WebdriverIO.
Game development DevOps and Game Dev with GitLab CI/CD.
GitLab Pages See the GitLab Pages documentation for a complete example of deploying a static site.
Java with Spring Boot Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD.
Java with Maven How to deploy Maven projects to Artifactory with GitLab CI/CD.
PHP with PHPunit, atoum Testing PHP projects.
PHP with NPM, SCP Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD.
PHP with Laravel, Envoy Test and deploy Laravel applications with GitLab CI/CD and Envoy.
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.
Parallel testing Ruby & JS GitLab CI/CD parallel jobs testing for Ruby & JavaScript projects.
Secrets management with Vault Authenticating and Reading Secrets With Hashicorp Vault.
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.

Contributing examples

Contributions are welcome! You can help your favorite programming language users and GitLab by sending a merge request with a guide for that language.

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 https://gitlab.com/gitlab-org/gitlab/tree/master/lib/gitlab/ci/templates.

Adding templates to your GitLab installation (PREMIUM ONLY)

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: