81 comments

[ 2.4 ms ] story [ 199 ms ] thread
God bless you all. I was on the verge of setting up a Gitlab CI instance on a local box for our projects since we're about to outstrip the free tier. Upgrading will be way less expensive for my client and me.
Happy to hear so! GitLab.com should be able to offer all the features you need if you wish not to self-host!

Happy GitLabbing!

Super! That's really super, and awesome! Happy internetting!
It looks like unlimited private repositories, Gitlab Pages and even some CI minutes (2000/month) will continue to be available in the free plan. Gitlab continues to provide such phenomenal value to free users that I struggle to find a reason to upgrade for my own projects. :)

That said, if I were running a business the extra workflow management tools in the bronze plan ($4/user/mo) and CI minutes in the silver plan ($19/user/mo) make total sense as useful upgrades.

Except for the fact that you cannot use gitlab.com for anything business related because it has abysmal performance and okay reliability. Basically they use gitlab.com to stress test gitlab.
This is my main issue. Otherwise, the service has been great.
We've been spending a lot of effort making GitLab.com more performant over the course of this year. We still have some ways to go, but every release includes performance enhancements based on performance data from GitLab.com.

We no longer see GitLab.com as a mechanism to stress test GitLab and we're certainly pushing hard to improve performance and availability.

(comment deleted)
> Public projects will still have free access to all features and unlimited CI/CD, as part of our continued commitment to open-source software.
Pricing feedback: Like kcorbitt said you're providing a lot of value to free users but here's some super weird stuff in the silver plan that I don't think should be there:

- Block secret file push

- Fast-forward merge with option to rebase

- Squash and merge

- Multiple assignees for issues

- Issue Boards with Milestones

Aside from the first one those are all features provided by free from Github which also don't make a lot of sense to paywall.

I also find it not nice, but to be fair, all of them will stay for open source projects, so the GitHub argument doesn't apply.
Hi there, those features are all available for free for public projects, it's only for private projects where we limit some functionality.
From the pricing page:

> Public projects get all paid features and unlimited CI/CD for free.

I think this needs to be more obvious. ;) Perhaps the price tiers should be separated out into a Private Repo-only section?

We're evaluating source control right now (have repos all over the place) and I'm wondering if anyone can comment on the Github $25/mo plan vs. Gitlab's and Bitbucket's comparable offerings. It seems like the built-in CI is an advantage for Bitbucket and Gitlab, but I wonder what gotchas we're not seeing right now.
If you're looking for the hosted version, there's lots of complaints about GitLab.com's performance. Bitbucket is quite excellent and integrates well with hosted JIRA too - I'd say it's arguably a better option than GitHub in many cases.

I've had good luck with self-hosted GitLab's performance in my small group, but I've heard tales of others who haven't, so try before you buy if you're doing that. The CI integration is really nice though and GitLab has put good work into that flow. It can also be the cheapest option and keeps you self-reliant if that's something that appeals to you.

Hi, GitLab UX Designer here. I would like to add that GitLab has put tremendous efforts in optimizing for performance lately. These performance optimisations optimise GitLab instances big and small. These improvements were triggered by having literally millions of users and projects on GitLab.com which is our hosted solution.

For self-hosted GitLab instances run on a smaller scale, there should not even be a chance of performance hits :).

Just to give a good overview of what GitLab is offering for both self-hosted as well as our hosted solution of GitLab.com please look at https://about.gitlab.com/features/

I am happy to hear that the CI/CD integration, which is our native solution for CI/CD and beyond is being well received! We want to persuade not force users to use our native solutions.

GitLab frontend engineer here. Also wanted to add that performance improvement is a big part of our OKRs for our Q3 and are viewable at https://about.gitlab.com/okrs/
I'm glad that it's such a priority that it's an OKR now, but there are public Gitlab issues talking about performance for the past 2 years. We did a full migration to Gitlab 3-6 months ago and had to migrate out into Bitbucket only a couple days later, as basic browsing operations proved to be way too consistently slow and was extremely aggravating.

It will take a lot to prove to us that hosted Gitlab is actually good performance "for reals this time".

There's also the frequent downtime, often related to one NFS server, or something.
We've been working quite a bit of our NFS storage topology and have recently introduced some remediation to prevent outages based on NFS availability. Previously an NFS failure would have pretty wide-reaching implications, now it's a lot more isolated.

We're also working on an entirely new storage architecture for scaling and are slowly rolling this out. You can see more here: https://gitlab.com/gitlab-org/gitaly

I knew you'd be working on something. I stick around because I love what you are building at GitLab.
If you're concerned about performance, Visual Studio Team Services hosts the world's largest Git repositories. (The largest being Windows itself.) And has to stay performant while doing it.

Indeed, most people don't need to host repositories that large but we're proud that our performance scales out even to repositories that are massive.

(ObDisclaimer: I work on VSTS.)

Mandatory heads-up for those that haven't come across them: gogs [0] and its fork gitea [1] are zero config, download-and-run, self-hosted alternatives to GitHub/BitBucket/GitLab that won't suck the life out of your server, are efficiently written, and very fast even on underpowered (read: RPi) hardware or shared VPS nodes.

0: https://gogs.io/

1: https://gitea.io/en-US/

I'd agree with this. gitea outperforms gitlab by a mile.
Seconded for gogs. Gitlab is a bloated mess.
I've never used it but as it appears to be made by the same guy that made password store[1] (i.e. "pass") then I've got a default high opinion of it. Will definitely be checking it out.

[1]: https://www.passwordstore.org/

Try out RhodeCode it focuses on Source Code Management with strong security and performance. Should be also a fast alternative.
cgit is nice, but it’s too reminiscent of the old CVS web interfaces for a lot of developers. Gogs (and therefore gitea) aimes to replicate the look and feel (and thereby the interactivity and ease-of-use) of GitHub from the start.
But to be fair, Gitlab does a lot more than these. We use it at work for all the issue tracking, pipeline and CI, pages and wiki features beyond the simple GIT hosting.
I don't know about CI, but gogs/gitea does issues and wiki.
Not to forget the private Docker registry and basic project management (burndown, cross-project milestones, estimations, etc.)
Please don't put your crown jewels i.e. your main source repo onto an RPi. I know it sounds neat, but you should probably skimp on the free avocado toasts instead.
Ironically, gitea is not even hosted by gitea. They are using github..
Maybe that's just because of GitHub's overwhelming popularity, hosting their code there is probably the best way to get attention and lots of contributors as they build up the product.
I think public Open Source projects have very different needs than a small company or individual. It's a hard tradeoff because it's nice to use the same tools for everything, but it can also be a lot of extra, unnecessary steps to both teach and use everyday.

Like you said elsewhere, it would be good to have a mirror of it to show it off.

Do these scale horizontally? I know Github has an issue with scaling since it has a concept of private vm when you purchase the enterprise license.
An honorable mention to https://notabug.org that is a public instance of Gogs. I don't think there is any public instance of Gitea.
Do either of those have a way to organize a set repositories other than the primiative user/repo scheme that GitHub uses?

I want user/cat/repo, user/cat/subcat/repo, user/cat/subcat/subsubcat/repo, and so on.

Yip, GitLab has subgroups that allow you to organise projects like that, although it's not available for /user namespace, so you can create

groupa/subgroup/repo groupa/subgroup/subgroup/subgroup/etc/repo

https://docs.gitlab.com/ce/user/group/subgroups/

This feature is available for free on GitLab.com and is available for free in self-hosted GitLab CE

I have been using the free hosted plan for about a month now, which includes the "Silver" tier features. I'm really happy about their Early Adopter program! They are keeping my current Silver capability for free for another 12 months.

I have to say, I really like gitlab.com. The UI is slick, and you get a ton of features right out of the box (for free). Bravo gitlab.com, keep up the good work!

Thank you for the kind words, we've been working hard on improving the UI (have you tried the latest update in https://gitlab.com/profile/preferences#new-navigation) and have tried to make our free offering as valuable as possible as well as treating our existing free customers respectfully.
I am using the new navigation, love it.
I didn't know you there was a new UI. I just switched over. Definitely seems like an improvement. Good job everyone!
Question: why does it take about 5 seconds to load the list of projects when clicking on the dropdown arrow on the top left of the screen? It's even slower than loading the whole GitLab.com website, which includes a list of those projects.

I find this a frequent annoyance and often choose to go back and load the full projects page just to change project.

Thanks, we'll keep making the product better. :) Glad to hear you're happy with the transition!
While I'm at it, I may as well offer some other feedback as well:

Pros

- UI is top notch

- Love the built in features (pipelines, CI/CD, docker registry)

- Private repos, free stuff

Cons

- Performance is improving, but still seems a bit slow at times

- Pipelines could be a bit faster. The build and test times seem to vary a lot per commit.

- Better documentation on pipelines and the .gitlab-ci.yml file. It seems a bit fragmented and scattered over a few documents.

- Maybe offer to add a default .gitignore in the repo, and a basic README (like github). Cloning an empty repo makes me sad.

We do have project templates now for a few web frameworks, and the web editor can give you .gitignore templates, but yeah we don't currently have a way of adding these files by default when creating a project.
Thanks for the feedback!

As you know, we're constantly improving the performance.

There's an issue for CI performance (https://gitlab.com/gitlab-org/gitlab-ce/issues/21624), please add any specific feedback you have there.

For pipeline documentation, please consider creating an issue if you have any specific feedback. We'd love to know what we can improve there.

We do offer .gitignore templates, so I assume you mean to offer them during project creation. Please see https://gitlab.com/gitlab-org/gitlab-ce/issues/19468 and add any feedback.

Fun plot twist about at least self hosted Gitlab..

You are charged per user. When you install on your own server, it automatically makes an "admin" user. And then you get billed for this user. Despite never using him or doing anything with him, apparently a shell of a user costs a $4 licensing cost per month.

They really need to clean up the setup workflow, I have literally never used a piece of software that charged for a default account no one uses.

Fun plot twist: They let you go over your license count, and if I am reading billing correctly will bill you when you do a yearly renew for a full YEAR penalty for any user that went over, even if you added that user on the last possible day of the year. So day 364 of license.. add 1 user over license... your next license will have a penalty of 1 full year for that user. You need to go and add a user manually on the website which does some kind of weird proration to not pay this penalty.

Send feedback but not too hopeful it was heard, so always the post to hacker news plan...

I typically make the default user my account, but you can also delete that account if you like I believe.
But opps you went over your license count by 1 when creating your user, so your next renewal you will pay a penalty for that admin user.
I understand that this is a flaw, and indeed a billing-related flaw at that, and I agree it merits fixing and maybe even some refunds/discounts to make up the difference.

But at the same time, you seem to be super-concerned about what is essentially a one-time overcharge of (apparently) between $4 and $48, and I feel like I would struggle to muster the emotion you seem to feel over that. If you're posting this at work you may have just wasted more than $4 worth of your salaried time making these posts and reading the responses.

I get what you're saying, but I raise my eyebrow over the vitrol with which you say it, and wonder if perhaps there's something else you're not telling us?

Not only that but I'd be willing to bet the $48 that if an email is sent regarding what happened that they would adjust the bill and all would be well.

It's a silly flaw but I don't think I'd rake them over the coals for it.

I sent an email. I was told I could use or delete that account. No offer was made to adjust a bill, which is rage inducing.
Did you ask for an adjustment? I guess they can't read your mind, and thus they don't know that you're hoping to get that reduction. If you gently ask them, they can consider your direct request.
>No offer was made to adjust a bill, which is rage inducing.

Is it? Well, ok then. Let's never do business, captain shortfuse.

Not one time, its a yearly overcharge. So $4 per month for life for an admin account with an email address @example.com that does nothing (or $19 for EEP)
We've already established that you can delete or repurpose the account. If you don't do that after discovering this for the first time, I have to assume you're wallowing in victimhood for the fun of it.
Please do not spread misinformation via HN. Self-hosted GitLab CE (Community Edition) is and remains free
Either you really have no clue what you're talking about (GitLab CE is totally free, both as in beer and speech) or this is some clever guerilla marketing by GitLab. If it's the latter, color me impressed!
The user/username is really "admin", or do you mean they create a default account that's an administrator? (never used the self-hosted version.)
How is charging for the maximum active users in a year unusual when you're buying a yearly site license priced based on the number of users? How do you propose this should work?
This makes me slightly worried.

I'm fine with paying for a service like Gitlab's hosted instance (and will start paying for it), it's a pretty good service. The UI isn't amazing but the tools are better IMO than GitHub's.. last time I checked, anyway.

What worries me is that as a heavy user of self-hosted CE, I see frequently that many features that I would like are enterprise (EE) only. Something like doing an IP whitelist/banlist on your server in the nginx config is surprisingly difficult unless you are an EE customer. It's a common use case that shouldn't be EE-only.

This change on their values (the very generous free private hosting) makes me wonder what the future holds.

There's a configuration option in the omnibus CE config file to add additional lines to the built-in nginx configuration, it seems pretty straightforward to me - although we use a different web server so that we can integrate with our SSO, so I haven't tried it.
You are correct! The implementation is strange, however. I'm not able to directly override any of the nginx settings already set. As there is no route overriding in nginx, this makes things real tough in trying to allow/deny access by route.

The hacky workaround is to create a more specific regex to override any existing routes. So "Location /" becomes "Location /(.*)"

Other alternatives like running your own nginx configuration or apache2 is possible, but no current documentation exists (some is available, but it is outdated and following steps results in a landslide of errors). Plus I don't like the idea of using a different configuration as far as new updates breaking my instance goes.

This is just one example as well - and one I chose because simple IP allow/deny IMO is not an enterprise feature, but a very common use case for anyone running CE.

I use GitLab for private personal projects, and in general I'm supportive of most of these changes.

Some paid features that I think are still useful to teams under 3 people:

* Block secret file push

* Various merge options (squash, rebase, etc...)

* Export issues as CSV

I think squash and merge is absolutely essential!
I've been using gitlab for a one person company for the last six months or so. The free plan is good for me. There are private repos, CI/CD Integration (pipelines). I am not using Issues or wikis etc. I use pull requests though. I just need git hosting and a decent CI/CD pipeline system.

I don't mind paying gitlab though to avoid the hassle of hosting things myself. But the Bronze plan does not add any value for me, as there is no increase in the CI/CD minutes compared to the free plan. The silver plan is not affordable to me.

Are there any other FOSS tools that HN readers know that provides out of the box support for git hosting as well as CI/CD ? This is just a backup planning in case gitlab decide to reduce or stop the CI/CD minutes.

You can install gitlab-ci-multi-runner on a machine you control, and you will have unlimited CI minutes.

I actually prefer this method because this lets me also write pipelines that depend on internal infrastructure and weird software (or not so weird - need a mac to build iOS projects with xcode, for example), and my code never touches random cloud VMs where the host is shared with other people (think guest-to-hypervisor escape exploit)

It's also super duper easy to set up, with the runner client being a self-contained binary available for most operating systems thanks to being written in Go.

I've been using Gitlab free for all my personal projects and mostly I'm totally okay with this change. I was afraid of being forced to pay for some basic functionality in a year but honestly most bronze/silver features are for slightly bigger projects than personal.

Just one small thing: pretty much the only 2 features I use from the Bronze plan are Issue Weight (I can live without them) and Milestones. I would like to see Milestones in the Free plan because for me it is just a convenience to create more structure in my issues. I wouldn't pay for just that feature and the alternative is more labels which would have the same result but more messy.