We primarily use GitLab for code migration and version management. It helps us maintain metadata, manage versions, and facilitate continuous integration when working in teams. When working on a feature, we create a feature branch, which allows us to work on the feature independently. Once the feature is complete, it must be merged into the main branch. This streamlines the process of deploying the application to the production environment.
We use some orchestration tools to do it. We have our own built packet manager, and that package manager interacts with the excellent migration and everything internally.
The important feature is the entire process of versioning source code maintenance and easy deployment. It is a necessity for the CI/CD pipeline.
There is a need to improve or adopt AI into the ecosystem like a co-pilot, which Microsoft has done with GitHub.
I have been using GitLab for nine years. I have worked across version management for continuous integration and deployment.
The product sometimes crashes.
I rate the solution’s stability a seven out of ten.
The solution’s scalability is good.
I rate the solution’s scalability an eight out of ten.
I have used GitHub before. GitHub now comes with an AI Assistant, similar to a copilot, its most significant advantage. With this copilot, it assists you in writing code. It provides examples and helps you rectify errors, especially during migration processes. Additionally, it offers previews of how migration can be performed. These enhancements are attributed to Microsoft’s support and involvement in OpenAI.
The initial setup is easy and depends on the target enrollment; it typically takes just a few minutes to complete. Migration is also handled efficiently, typically in less than a few minutes or between three to five minutes, depending on the data size you want to migrate. The only drawback or consequence is that you need a private Git repository, which GitLab should provide by default.
For small-scale usage, GitLab offers a free tier. For enterprise pricing, GitLab is more expensive than GitHub, as it's not as widely adopted. GitLab is the preferred choice for many developers despite its higher monthly pricing plan, which is around $126.
GitLab has improved our CI/CD processes in software dependency management. It handles conflicts between versions seamlessly, such as when merging different features into the main branch. With GitLab, there are no conflicts in the code itself. Versioning is also efficiently managed within GitLab, allowing us to easily track the latest main branches, previous branches, and releases. For example, if a software depends on specific versions, it's easily traceable using GitLab. One of the most significant advantages is the built-in DTS, which supports ample file storage. This capability allows us to store 30-40 gigabytes of repository sizes.
The code diffs available in GitLab show the differences between the older version and the current one, indicating what has been added, deleted, or modified across the codebase. This helps you understand which portions of the code have changed within a particular file, such as a Python script, aiding in traceability and version management.
The merge request feature is standard and available even in GitHub, making it accessible on most Git platforms. It is one of the fundamental features of GitLab, a free product.
Overall, I rate the solution a seven out of ten.