We currently use Bitbucket (do not recommend) and we're evaluating GitLab.
First impression is that it's a great package. The only downside for us is that we have a lot of legacy baggage, mostly rather opinionated build tools set up the way we liked it. Getting that to work with GitLab, which itself has a very opinionated view of the CI/CD pipeline is a bit of effort. But for a greenfield project I would go with GitLab in a second!
GitLab is a "batteries included" kind of tool. They've put together a lot of excellent stuff and integrated different tools very well together. For example, we need to perform security scans on our code and artifacts and GitLab offers that with minimal effort and awesome integrations into your pull request (which they call merge requests) mechanism.
Some may not like their approach, especially if they already have something that doesn't quite fit. But if you're starting from scratch, you really should give them a chance. They really know what they're doing ;-)
GitLab Community Advocate here. Thanks for the feedback, I am happy to hear that you like our product. Since you are still evaulating GitLab, please let me know if you need any assistance or help regarding other features.
I have been enjoying Gitlab's built-in continuous integration service. If your app does not already use something else for continuous integration, it might be worthwhile to try out.
Gitlab all the way, as others have mentioned the CI pipeline is easy to setup.
Another feature which is great is the Docker registry at the repository level.
I wanted to share the following issues [1] & [2] with you and everyone else since the features you've mentioned are already being discussed. Feel free to leave your thoughts in there:
First impression is that it's a great package. The only downside for us is that we have a lot of legacy baggage, mostly rather opinionated build tools set up the way we liked it. Getting that to work with GitLab, which itself has a very opinionated view of the CI/CD pipeline is a bit of effort. But for a greenfield project I would go with GitLab in a second!
GitLab is a "batteries included" kind of tool. They've put together a lot of excellent stuff and integrated different tools very well together. For example, we need to perform security scans on our code and artifacts and GitLab offers that with minimal effort and awesome integrations into your pull request (which they call merge requests) mechanism.
Some may not like their approach, especially if they already have something that doesn't quite fit. But if you're starting from scratch, you really should give them a chance. They really know what they're doing ;-)