Using GitLab to customize your pipelines and your entire CI/CD process
May 31, 2021

Using GitLab to customize your pipelines and your entire CI/CD process

Anonymous | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with GitLab

We use GitLab as our repository, as our point to perform code reviews, to discuss code practices, as a documentation hub, and most importantly, as our continuous integrations and continuous delivery platform, using all the features available of today for pipelines and jobs.

Every engineering team uses GitLab to host multiple projects in various technologies, ranging from Java, JavaScript, PHP, Python, DotNet, and Go.

Each team has a different flavor of configuration, but in general terms, every team has pipelines with other steps. GitLab has evolved during the past few years to provide more features, not only to be a tool to handle code changes based on the git protocol.

It's a Developer and DevOps tool that allows integrating with a vast range of providers, products from Atlassian, Slack, to name a few.

The level of customization available today on GitLab makes other direct competitors look bad.

We have set up pipelines to allow us to deploy code based on rules to different environments, run unit tests, scan for vulnerabilities using GitLab native features, among others.
  • Setting up pipelines
  • Handling configurable variables on different levels
  • Source control
  • Integrations with third party providers
  • Customer support
  • Customizing deployment procedures
  • The configuration of variables and each level can be confusing at first.
  • User permissions might be improved so it's more intuitive.
  • Faster deployments
  • More control of undesired deployments which might end up affecting our production environments
GitHub and Bitbucket are some of the main alternatives available in the market.

As of today, I believe that GitLab has many features that make it equal or superior to GitHub and Bitbucket. The CI/CD capabilities and the customization of pipelines from YML files are just one of many ways that you can add value to your deployment process on GitLab.

GitLab supports some customization through plugins and third-party integrations, and Bitbucket had some of these features before. Still, GitLab has been significantly increasing the amount of value they add by allowing developers and DevOps team members to customize deployment processes and run custom tasks and jobs at different stages of a pipeline.
We have used GitLab native security vulnerability scanning. We also use third-party solutions such as the ones offered by Snyk, which have excellent integration support with GitLab.

The reason is that GitLab security vulnerability tools are not as fast as others which can run in the cloud and as a service.

For the separation of concerns, speed, and added value, in our particular business model, we have found it particularly useful to rely on SasS tools when it comes to dependency scanning.
We use jobs, pipelines, and GitLab customization to run all kinds of validations. From unit tests to automated tests to dependency vulnerability scanning, we have different pipelines across different teams. All our pipelines are oriented to the same goals, add value to our customers, keep our code safe, have good quality, and perform as many validations as required.

Do you think GitLab delivers good value for the price?

Yes

Are you happy with GitLab's feature set?

Yes

Did GitLab live up to sales and marketing promises?

Yes

Did implementation of GitLab go as expected?

Yes

Would you buy GitLab again?

Yes

If you are an individual developer, a small or medium-sized company, choosing GitLab will add tremendous value.

If you need to have both a repository based on the Git protocol and a tool with some robust customizations for CI/CD and pipelines, GitLab might be the right choice.

Perhaps if you have a small project, other tools such as GitHub and Bitbucket could suffice for your needs, especially if you don't need many integrations and customizations.

In my opinion, if you need to have a high level of customization, being able to track individual jobs inside pipelines, and more, GitLab could be the right option for you.