Skip to content

WIP: Add review apps for EE

Marin Jankovski requested to merge marin/gitlab-ee:add-review-apps into master

What does this MR do?

Adds Review apps for GitLab EE 🎉

Why was this MR needed?

Because we loose too much time in QA tasks during release, this needs to happen during development.

How does it work?

  • On every pipeline during the test stage with cloud-native-image job we trigger a job in CNG repo
  • This will build images out of your current branch and also other components like gitlab-shell and gitaly
  • Once all tests passed and images were built, review app will be deployed to the k8s cluster
  • k8s cluster is connected to the project and the CI configuration is using parts of autodevops configuration
  • Apps get deployed using the new GitLab helm charts with the previously created images override. This means you get the environment from your branch very close to what it would look in production
  • The cleanup can be done in the post-cleanup step

Questions to be answered before merge!

  • Will it be too much to trigger CNG image builds on every test run? This could create thousands of unused docker images
  • The .gitlab-ci.yaml configuration, autodevops section has been selective copy paste to make the review apps work. How can we make that maintainable going further
  • How do we ensure cleanup happens, we can't have hundreds environments just staying around?
  • How big of a k8s cluster do we need to get this performant?
  • How do we secure this from abuse? Apps are open to the world so we need to find a way to limit it to only us.

Regardless of this, I think we should cleanup this MR and setup review apps as soon as possible.

The amount of lost productivity is way more expensive than what we are going to pay with having review apps enabled.

Merge request reports