Skip to content

Example deployment project using features currently available in GitLab

Release notes

GitLab is used for deployments by many of you. The current release provides a documented best practice to organize your git repositories for rolling out and tracking deployments across several environments. This best practice is geared towards cloud-native, pull-based, GitOps-style deployments, and it might be used with minor tweaking for push-based deployments from GitLab CI.

Problem to solve

Relates to OKR O2: Proposal and Proof of Concept for the GitLab Delivery Framework.

Before we can come up with a proposal and proof of concept for the GitLab Delivery Framework, we must first establish what is possible using GitLab today, and identify the strengths and shortcomings of what we can currently offer. This information will highlight the greatest opportunities for improvement, and gives us a baseline to compare to going forward.

Proposal

Create a deployment project that manages deploying a simple example application, using only features that are currently available in GitLab.

The project should facilitate:

  • Deploying to multiple environments (eg. staging, production, review/*)
  • Deploying to multiple clusters
  • Applying configuration updates to a particular environment (eg. increase production replica count)
  • Promoting an application change from one environment to another

Definition of done

  • Deployment project created as described above
  • Detailed description of how the project works, and how to perform the tasks above (this could be the README for the project)
  • Document the setup in GitLab docs or link to the example project from the docs. The documentation should live somewhere under https://docs.gitlab.com/ee/topics/release_your_application.html
  • Strengths/weaknesses of the project identified, with possible improvements and/or next steps suggested

Links

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by Tiger Watson