Hacker News new | past | comments | ask | show | jobs | submit login

Me and the rest of the cool gang have been using GitLab for a while now.



What’s the difference for a personal user? Is gitlab better?


Well, depends. For self-managed solutions, GitLab is considered better.

While GitHub remains the "home" of open source (at least for cool, hip JavaScript projects).

Based on Hacker News threads, SourceHut is challenging GitHub in "coolness" too. ️


Free unlimited CI minutes for private repos if you bring your own gitlab-runner is one great benefit I enjoy.


To be fair, you can also have your own runners for Github Actions, which will not affect your CI minutes. https://help.github.com/en/actions/hosting-your-own-runners/...


Last time I tried Github Actions I was shocked at how bad it was. Somehow over and under documented at the same time, and overly dependent on third party repos to accomplish the most basic tasks. I gave up and used CircleCI.


That’s an odd definition of free you’ve got there given you’re going to have to pay for something to run it on.


I mean, you still need to buy a computer to even do a git push... what


When I started using it it was free private repos and CI minutes.

Whilst GH has duplicated these features very recently, they are still things that are at the core of gitlabs offering, so are generally higher quality and better supported.

Gitlab is also open source, which lets me mirror their repo locally in case they die or remove a feature I use.

Oh, and gitlab isn't systematically racist, which is always a personal ethical win.

Shout out to sourcehut as a possible next cool thing - currently in public alpha


> Oh, and gitlab isn't systematically racist, which is always a personal ethical win.

Wait, what? How is GitHub "systematically racist"?

> Shout out to sourcehut as a possible next cool thing - currently in public alpha

Sourcehut seems like a niche product for a niche audience. That's not a criticism – if anything, that's a compliment because too often people with niche needs or preferences are left out in the cold, but I don't think it'll be anywhere near the "next GitHub".


Are you talking about those affirmative action, 'anti white' slides created by a woman who worked/works for GitHub? Or the master/slave debacle?


Racist?


They're probably referring to a code-of-conduct document which has been attributed to GitHub, although I believe the document is (was?) actually maintained by the TODO Group, of which GitHub is a member.

https://todogroup.org/members/

Discussion of the code-of-conduct:

* https://github.com/dear-github/dear-github/issues/107#issuec...

* https://news.ycombinator.com/item?id=19162683


It has CI/CD integrated( dont remember if they are in the free version).


so does GitHub now, though there are some unfortunate limitations on PRs from forks


IMHO the gitlab CI service makes a lot more sense though, github has this weird concept of "Actions", and running CI/CD/... is some "shortcut" that was added as an afterthought because nobody could figure out how github actions are supposed to work for something simple as "please just run this script after each push".


I'm not sure what you're referring to, it's very easy to run an Action after each push?

    on:
      push:
        branches:
          - "**"


"Proper" CI/CD support was only added after users complained that Github Actions are too complicated to use for CI/CD, see:

https://github.blog/2019-08-08-github-actions-now-supports-c...


It's really hard to understand what you're trying to say here. I use actions a lot. There is no distinction between actions and CI/CD here. The context of this blog post is a set of features that were added to actions (during the beta!) to better support CI/CD workflows. There is no CI/CD "shortcut", like you say, bolted on to actions.

The alpha was rougher (and completely different) but that's why it was called an alpha!


I guess what I wanted to say is that gitlab's CI/CD solution makes more sense because it was specifically designed for CI/CD, while I seriously didn't understand what problems github actions were intended to solve when the beta started. Only roughly a year later a simple CI/CD system was bolted on as an afterthought. This isn't a showstopper, but it makes the overall system needlessly complex and hard to understand if all you need is a CI/CD solution.

When I worked with gitlab CI, I've read through the documentation, understood immediately how it works, and had a pipeline up and running half an hour later.

When github actions was started, I approached it with the same mindset as I approached (for instance) travis.ci, AppVeyor or gitlab CI. But after reading through the github action documentation I had no idea how to make this work for a CI/CD workflow, so I ignored it and continued using travis.ci and AppVeyor for my github projects. Only roughly a year later the above mentioned CI/CD support was added to github actions, which finally made it useable in the same way as all the other CI services.

So my suspicion is: github actions was going to be a new "revolutionary" thing with a much wider scope than existing CI/CD solution. But most people didn't understand such a "visionary" concept, and instead just wanted a simple CI/CD service similar to all the 3rd party solutions that already existed, only better integrated with the rest of github.

And that's why I think that gitlab's integrated CI/CD service makes a lot more sense. It was much more focused on the developer's needs from the beginning.


Thanks for the reply. What do you mean by a CI/CD system?

I'm not sure what you think was "bolted on" to actions, could you be specific? Features have been added (during the beta and since) but I can't think of anything that could really be described as "bolted on". "bolted on" to me implies some kind of disharmony with other features, weird quirks etc.

> I seriously didn't understand what problems github actions were intended to solve

You can run arbitrary code in response to any GitHub repository event, and also cron jobs and external triggers (a GitHub app can POST to a specific API to trigger those style of workflows).

The code runs with access to GitHub APIs for your repo (it can clone it, leave comments, create new PRs, whatever), and in any event that is associated with a PR a check status gets added to the PR.

This is a pretty general-purpose tool and I think it's easy to imagine the kind of problems people would use it to solve...

> my suspicion is [...]

Honestly it sounds like you're not really familiar with it and have some strongly negative opinions. I'd recommend either giving it another look and putting aside your feelings or working on a more substantive critique...


You can do just "on: push" if you don't need filters like branches/paths/etc. :)


It's actually open source itself. I was pretty shocked to find out that GitHub isn't (it's the face of open source!).


Also owned by Microsoft.

I mean, I get the "new" Microsoft. And I get that this is mostly a street-cred move by them, and they'll try to not mess it up by interfering with it. But still. That's now. What happens when the next shake-up comes and there's a push by the accountants to make money off everything, that's the important bit.

It's like Atlassian taking over Trello. They'll mess it up, it's just a matter of when not if.


Just to clarify here. It's only been owned by Microsoft for about a year now.

Before that they were their own company. And as far as I know, the source was never OSS to begin with. Microsoft didn't swoop in and lock it down. It was already like that.

In case anybody wondered if Github was closed-source because of Microsoft.


yeah, good point




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: