GitLab is our CI/CD platform of choice, which we use to manage our code, product builds and deployments in an automated way. It's very powerful and it allows us to define custom pipelines in YAML files that we can put under version control in the platform itself. It supports every Git functionality that any company, big or small, would need to store code, environment variables, review merge requests, resolve merge conflicts and handle merges from multiple users. In summary, it's a very powerful all-in-one platform.
Pros
Define CI/CD pipelines as code
Store your code
Allow merge request reviews
Store secrets as environment variables
Cons
The free version was a bit slow
Likelihood to Recommend
It's a complete solution to store your code, perform code reviews and automate your builds and deployments through automation. Pipelines defined with YAML files are especially useful and powerful. Any company, regardless of the size of the team or the project would find it extremely helpful. Secrets used by the build agents can also be stored in the platform itseld as environment variables.
Gitlab is a key tool within my organisation, as far as software development operations is concerned. We use it for collaboration purposes, issue tracking/software maintenance purposes and for security/compliance reasons. It is secured, reliable , comparatively easy to use and comes with very intuitive documentations as well. Ultimately for me personally, I have found Gitlab to be very valuable , especially as it relates to integrating Ci/CD pipelines into our software development workflow, for improved code quality and faster deployment.
Pros
Faster and automated software deployment.
Support for concurrent software deployment. This is key for teams with a cross section of engineers and developers , scattered across different locations.
Supports the principles of agile development.
Cons
Lacks a default integrated deployment server.
The request merging process can be a lot straightforward, as against the current process which I describe as clumsy.
Likelihood to Recommend
The most important consideration for me , as far as Gitlab is concerned is around how we have successfully used Gitlab , to seamlessly connect the operational side of coding or software development , with other important areas such as code or software security. The aforementioned is key for us to effectively release a commercially efficient software product to our end users.