I use the solution in my company for traditional projects. Now, my company plans to move our projects to GitLab since it provides a single UI for everything.
Bitbucket Server creates a branch and is useful for authentication, commits, and pushing changes.
Bitbucket Server is a standalone tool or server. My company also uses Jira. In our company, there are different kinds of tools linked together by webhooks, and we use Jenkins to run Bitbucket Server. GitLab provides an integrated solution, so everything is available in a single product. With Bitbucket Server, you can see the codes, configure the pipelines, and you can merge a pull request. Bitbucket Server may be even better than GitHub. With GitLab, you have a single solution in one place, so it is not scattered in many places, like in the case of Jira, Jenkins, or Bitbucket Server, making it a better option for our company. From an improvement perspective, Bitbucket Server should make everything available as a single solution.
I have experience with Bitbucket Server.
In our company, Bitbucket Server has a backend link to Jira. When Jira is down, Bitbucket Server is also down.
It is an okay tool in terms of scalability. Though I am unsure, I feel that Oracle DB is used in the backend. In our company, when we have to create new reports in the backend database, you just increase the hard disk. Another team in my company controls the aforementioned area associated with the product, so I don't know it in detail.
Considering that all the developers in my company use the product, I would say that around 30 percent of the people in my company use the solution.
My company decided that since Zscaler is on the cloud, we need a local on-premises server.
The product's initial setup phase is complex. GitLab is better to deal with when it comes to the setup phase since it uses the YAML script. With GitLab, one can use templates for almost all projects, so a given project can be dealt with based on the templates, and sometimes the templates might have to be updated a little bit. In Jenkins, every project is treated separately, so you have to create every project on Jenkinsfile. It cannot be based on some templates, and I feel it may be a little bit complex and not as easy as GitLab.
One needs to pay towards the licensing charges associated with the product.
I am planning to move to GitLab.
In terms of the most valuable feature of the tool for our company's current collaboration, I would say that since the product is deployed on an on-premises model, you can easily control the branching strategy, merge strategies, and code review.
The pull request feature of the tool streamlines the code review process in our company, after which we invite some people to review it and then change the policies if needed. All people involved in the process of reviewing should provide approval based on which the company can delete or merge branches.
For the improvement of CI/CD pipelines, my company uses Jenkins to check the pipelines from the Bitbucket Server. In the pipeline, our company can link to Jira or Confluence and deal with checkout, clone, compile, and then do the test and generate reports.
I recommend the product to others, especially small companies because you can get a cloud solution for your organization, and also, it is similar to GitLab and GitHub. One can work with Bitbucket Server, Jira, and GitLab, along with CI/CD pipelines. Small companies also need not set up on-premises servers and should prefer cloud services.
In terms of benefits, I feel that many companies are moving to Bitbucket Server since it can be deployed on an on-premises model at a time when everything is being moved to the cloud. GitLab can be used by those who want to move to the cloud.
I rate the tool an eight out of ten.