Supports daily deployments with streamlined workflows and could improve pipeline startup time
What is our primary use case?
GitLab serves as my main DevOps platform for managing our repository and code base, as well as for pipeline integration of our system.
We maintain all our projects in GitLab with separate folders for project files, and we use GitLab to manage our projects. We also use GitLab pipeline to deploy in our dev environment, QA environment, and production, as well as for creating patches.
How has it helped my organization?
GitLab has positively impacted my organization by being faster than other platforms and providing the best user interface and features. Creating merge requests is easy, and it makes it simple to use for new joiners.
What is most valuable?
GitLab's best features are its built-in CI/CD and pipeline integration, which can be easily connected to AWS or other deployment platforms. The CI/CD pipeline integration is the most valuable aspect for me, and it also provides an easy user interface to create merge requests, merge, and create branches.
The CI/CD pipeline integration has helped my workflow by allowing us to use the .gitlab-ci.yml file to integrate and write our pipeline codes, where we include build jobs, test jobs, and deploy jobs directly with our AWS for S3 using CI/CD variables for push.
In GitLab pipelines, both manual and automatic integration are offered for the pipeline runner, and pipeline logs are provided, which are very useful for DevOps engineers and developers for debugging.
What needs improvement?
GitLab can be improved by being more responsive in the UI and offering better pricing for premium features, which would be useful for small startups. While GitLab's CI/CD is powerful, it is somewhat complex in certain aspects.
It would be better if the GitLab and Jira integration were more flexible and easier to integrate with Jira for task management in the future.
For how long have I used the solution?
Since I joined my company, we have been using GitLab for our repo maintenance, so I have been using it for more than two years.
What do I think about the stability of the solution?
In my experience, GitLab is stable; however, sometimes it takes much time to start the runner and gets stuck in a pending situation, possibly due to traffic issues.
What do I think about the scalability of the solution?
GitLab handles growing workloads and users well, and its scalability is good, but the downtime issue is a concern because it sometimes takes too long to start the runner.
Which solution did I use previously and why did I switch?
Earlier, I did my personal projects using GitHub before I joined my current organization, which uses GitLab, and that is the reason for switching. I personally prefer GitLab over GitHub because it is user-friendly and easy to work with.
My current organization started with GitLab.
What other advice do I have?
I would advise others looking into using GitLab that it is a perfect platform for organization-level repository management and pipeline CI/CD features are very useful and easy to use.
I have shared everything I feel and noted the pros and cons of GitLab as a user. Overall, I rate GitLab positively, giving it a seven out of ten because I have been using GitLab for more than two and a half years and have not faced many difficulties. However, in some cases, I got stuck with runners getting delayed to run, which can be annoying.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Development workflows improve with effective code reviews and user-friendly interface
What is our primary use case?
Our primary use case for
GitLab involves software development, such as storing sources, automation, and pipelines.
What is most valuable?
The features I find most useful for our development workflows include
Git, merges, branches, code reviews, and pipelines. The code review tool is pretty good, and its general usability is commendable when compared to
GitHub. It is user-friendly, easy to use, and easy to administer.
GitLab handles a significant amount of repositories, sources, and users effectively without data loss, even though it may slow down occasionally.
What needs improvement?
One significant feature we lack is the configuration that enforces code reviews, which simplifies the development life cycle. Unfortunately, this is available only at a higher license level than we currently use. Additionally, improvements are needed for stability, as the system tends to degrade over a few days and often requires a restart.
For how long have I used the solution?
I have been working with GitLab for approximately six years.
What do I think about the stability of the solution?
The self-hosted version of GitLab is not very stable when under load. It slows down and requires restarts every few days. The updates are frequent and demanding, happening at least once a week due to security reasons. While understandable, this often breaks running pipelines.
What do I think about the scalability of the solution?
In terms of scalability, GitLab in the cloud is easy to scale, but the self-hosted version is moderately easy, requiring some skills.
How are customer service and support?
We have contacted support in a couple of situations, and they were responsive and okay.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
We have used Subversion,
GitHub, and GitLab.
How was the initial setup?
The cloud-based setup is straightforward and easy. However, self-hosted setup is complex, requiring good DevOps and significant orchestration.
What's my experience with pricing, setup cost, and licensing?
The pricing and cost are on par with other tools and are neither too expensive nor cheap.
Which other solutions did I evaluate?
I have evaluated Subversion, GitHub, and GitLab.
What other advice do I have?
For those wanting to use GitLab, I recommend going with the cloud version as self-hosting is problematic. I rate GitLab an eight out of ten.
Improved agility and time to market with CI/CD enhancements
What is our primary use case?
We use
GitLab for deploying our applications into different environments. It serves as more of a DevOps platform.
What is most valuable?
The CI/CD pipelines in
GitLab are highly valuable. Another important feature is the single source of repository, allowing efficient repository management and source code management. GitLab provides manageability by allowing us to manage source code effectively through separate repositories. Additionally, GitLab enables the creation of individual CI/CD pipelines for each repository, making software more agile. By integrating GitLab as a DevOps platform, we have enhanced agility, improved our time to market, and different teams can work collaboratively on various projects.
What needs improvement?
GitLab should embed security features when dealing with source code. It is essential to conduct proper testing, such as unit tests and code coverage, within the SDLC pipelines. Incorporating tools like
JMeter or load testing into the pipelines would be beneficial.
For how long have I used the solution?
I have been working with GitLab for around four to five years.
What was my experience with deployment of the solution?
The deployment process with GitLab takes approximately half an hour to forty-five minutes, which is not very time-consuming.
What do I think about the stability of the solution?
I have no complaints regarding stability. GitLab maintains an availability of 99% plus.
What do I think about the scalability of the solution?
Currently, GitLab is not easy to scale because GitLab has specific deployment instructions. We deploy it on one of the VMs. For scaling, other deployment options from GitLab's side need to be adopted. Vertical scaling is different from horizontal scaling, and there are different types of scalability.
How are customer service and support?
GitLab's support is very helpful. They utilize a severity and priority ticket system, with corresponding SLAs, to address our inquiries efficiently. The support team is quite knowledgeable.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I previously used
Jenkins. However, GitLab is a better tool because
Jenkins requires different plugins which need to be installed and managed individually, whereas GitLab is a more complete DevOps platform, requiring minimal integration.
How was the initial setup?
GitLab is easy to set up, with guided instructions and documentation making the process straightforward. On a scale from one to ten, I would rate the ease of setup as eight.
What was our ROI?
Since adopting GitLab as a DevOps platform within the entire SDLC process, we have become more agile and improved our overall time to market.
What's my experience with pricing, setup cost, and licensing?
GitLab is somewhat expensive. The cost depends on the subscription plan adopted, such as premium or ultimate, typically charged per user.
Which other solutions did I evaluate?
Jenkins is another tool I evaluated before choosing GitLab.
What other advice do I have?
GitLab is a great tool that simplifies management and reliability. It allows the creation of individual CI/CD pipelines for different repositories, enhancing agility and helping software development teams expedite market delivery. I rate GitLab nine out of ten in overall satisfaction. My overall rating for GitLab is 9.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?