GitLab CI/CD examples | GitLab (2024)

  • CI/CD examples
    • Contributed examples
  • CI/CD templates
    • Adding templates to your GitLab installation
  • Other resources
    • CI/CD in the cloud
    • Customer stories
    • Getting started
    • Implementing GitLab CI/CD
    • Migrating to GitLab from third-party CI tools
    • Integrating GitLab CI/CD with other systems
    • Mobile development

Tier: Free, Premium, UltimateOffering: GitLab.com, Self-managed, GitLab Dedicated

This page contains links to a variety of examples that can help you understand how toimplement 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, for manycommon frameworks and programming languages.
  • Repositories with example projects for various languages. You can fork and adjust them to your own needs. Projects include an example of 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
Deployment with DplUsing dpl as deployment tool.
GitLab PagesSee the GitLab Pages documentation for a complete example of deploying a static site.
End-to-end testingEnd-to-end testing with GitLab CI/CD and WebdriverIO.
Multi project pipelineBuild, test deploy using multi project pipeline.
npm with semantic-releasePublish npm packages to the GitLab package registry using semantic-release.
PHP with Laravel, EnvoyTest and deploy Laravel applications with GitLab CI/CD and Envoy.
PHP with npm, SCPRunning Composer and npm scripts with deployment via SCP in GitLab CI/CD.
PHP with PHPUnit, atoumTesting PHP projects.
Secrets management with VaultAuthenticating and Reading Secrets With HashiCorp Vault.

Contributed examples

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

Use caseResource
ClojureTest a Clojure application with GitLab CI/CD.
Game developmentDevOps and Game Development with GitLab CI/CD.
Java with MavenHow to deploy Maven projects to Artifactory with GitLab CI/CD.
Java with Spring BootDeploy a Spring Boot application to Cloud Foundry with GitLab CI/CD.
Parallel testing Ruby & JSGitLab CI/CD parallel jobs testing for Ruby & JavaScript projects.
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.

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 canchoose one of these templates:

  • Android (Android.gitlab-ci.yml)
  • Android with fastlane (Android-Fastlane.gitlab-ci.yml)
  • Bash (Bash.gitlab-ci.yml)
  • C++ (C++.gitlab-ci.yml)
  • Chef (Chef.gitlab-ci.yml)
  • Clojure (Clojure.gitlab-ci.yml)
  • Composer Composer.gitlab-ci.yml
  • Crystal (Crystal.gitlab-ci.yml)
  • Dart (Dart.gitlab-ci.yml)
  • Django (Django.gitlab-ci.yml)
  • Docker (Docker.gitlab-ci.yml)
  • dotNET (dotNET.gitlab-ci.yml)
  • dotNET Core (dotNET-Core.gitlab-ci.yml)
  • Elixir (Elixir.gitlab-ci.yml)
  • Flutter (Flutter.gitlab-ci.yml)
  • Go (Go.gitlab-ci.yml)
  • Gradle (Gradle.gitlab-ci.yml)
  • Grails (Grails.gitlab-ci.yml)
  • iOS with fastlane (iOS-Fastlane.gitlab-ci.yml)
  • Julia (Julia.gitlab-ci.yml)
  • Laravel (Laravel.gitlab-ci.yml)
  • LaTeX (LaTeX.gitlab-ci.yml)
  • Maven (Maven.gitlab-ci.yml)
  • Mono (Mono.gitlab-ci.yml)
  • npm (npm.gitlab-ci.yml)
  • Node.js (Nodejs.gitlab-ci.yml)
  • OpenShift (OpenShift.gitlab-ci.yml)
  • Packer (Packer.gitlab-ci.yml)
  • PHP (PHP.gitlab-ci.yml)
  • Python (Python.gitlab-ci.yml)
  • Ruby (Ruby.gitlab-ci.yml)
  • Rust (Rust.gitlab-ci.yml)
  • Scala (Scala.gitlab-ci.yml)
  • Swift (Swift.gitlab-ci.yml)
  • Terraform (Terraform.gitlab-ci.yml)
  • Terraform (Terraform.latest.gitlab-ci.yml)

If a programming language or framework template is not in this list, you can contributeone. To create a template, submit a merge requestto the templates list.

Adding templates to your GitLab installation

Tier: Premium, UltimateOffering: Self-managed, GitLab Dedicated

You can add custom examples and templates to your self-managed GitLab instance.Your GitLab administrator can designate an instance template repositorythat 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.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:

  • How Verizon Connect reduced data center deploys from 30 days to under 8 hours with GitLab
  • How Wag! cut their release process from 40 minutes to just 6
  • How Jaguar Land Rover embraced CI to speed up their software lifecycle

Getting started

For some examples to help get you started, see:

  • GitLab CI/CD’s 2018 highlights
  • A beginner’s guide to continuous integration

Implementing GitLab CI/CD

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

  • How to streamline interactions between multiple repositories with multi-project pipelines
  • How we used GitLab CI to build GitLab faster
  • Test all the things in GitLab CI with Docker by example
  • A Craftsman looks at continuous integration
  • Go tools and GitLab: How to do continuous integration like a boss
  • GitBot - automating boring Git operations with CI
  • How to use GitLab CI for Vue.js
  • Video: GitLab CI/CD Deep Dive
  • Dockerizing GitLab review apps
  • Fast and natural continuous integration with GitLab CI
  • Demo: CI/CD with GitLab in action

Migrating to GitLab from third-party CI tools

Examples of migration to GitLab CI/CD from other tools:

  • Bamboo
  • CircleCI
  • GitHub Actions
  • Jenkins
  • TeamCity

Integrating GitLab CI/CD with other systems

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

  • Streamline and shorten error remediation with Sentry’s new GitLab integration
  • How to simplify your smart home configuration with GitLab CI/CD
  • Demo: GitLab + Jira + Jenkins
  • Introducing Auto Breakfast from GitLab (sort of)

Mobile development

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

  • How to publish Android apps to the Google Play Store with GitLab and fastlane
  • Setting up GitLab CI for Android projects
  • Working with YAML in GitLab CI from the Android perspective
  • How to use GitLab CI and MacStadium to build your macOS or iOS projects
  • Setting up GitLab CI for iOS projects
GitLab CI/CD examples | GitLab (2024)

References

Top Articles
Latest Posts
Article information

Author: Errol Quitzon

Last Updated:

Views: 5837

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.