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:

  • .gitlab-ci.yml template files maintained in GitLab. When you create a new file via the UI, GitLab will give you the option to choose one of these templates. This will allow you to start using CI/CD with your project quickly. If your favorite programming language or framework are missing, we would love your help by sending a merge request with a new .gitlab-ci.yml to this project.
  • Repositories with example projects for various languages. You can fork and adjust them to your own needs. Projects include demonstrations of multi-project pipelines and using Review Apps with a static site served by NGINX.
  • Examples and other resources listed below.

CI/CD examples

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

Use caseResource
Browser performance testingBrowser Performance Testing with the container.
ClojureTest a Clojure application with GitLab CI/CD.
Deployment with DplUsing dpl as deployment tool.
ElixirTesting a Phoenix application with GitLab CI/CD.
End-to-end testingEnd-to-end testing with GitLab CI/CD and WebdriverIO.
Game developmentDevOps and Game Dev with GitLab CI/CD.
GitLab PagesSee the GitLab Pages documentation for a complete example of deploying a static site.
Java with Spring BootDeploy a Spring Boot application to Cloud Foundry with GitLab CI/CD.
Java with MavenHow to deploy Maven projects to Artifactory with GitLab CI/CD.
PHP with PHPunit, atoumTesting PHP projects.
PHP with NPM, SCPRunning Composer and NPM scripts with deployment via SCP in GitLab CI/CD.
PHP with Laravel, EnvoyTest and deploy Laravel applications with GitLab CI/CD and Envoy.
Python on HerokuTest and deploy a Python application with GitLab CI/CD.
Ruby on HerokuTest and deploy a Ruby application with GitLab CI/CD.
Scala on HerokuTest and deploy a Scala application to Heroku.
Parallel testing Ruby & JSGitLab CI/CD parallel jobs testing for Ruby & JavaScript projects.

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. You may want to apply for the GitLab Community Writers Program to get paid for writing complete articles for GitLab.

Adding templates to your GitLab installation

If you want to have customized examples and templates for your own self-managed GitLab instance available to your team, your GitLab administrator can designate an instance template repository that contains examples and templates specific to your enterprise.

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: